Hi,
Prior to Bonsai 2.6 you indeed had to initialize subjects. You could use the logic you used in your initial workflow (Int(X) -> BehaviorSubject(Y)) or, in order to drop the first value, the typical solution was Int(X) -> IgnoreElements -> BehaviorSubject(Y).
You could then Int(Z) -> MulticastSubject(Y) your new values.
In 2.6, Gonçalo added a neat feature where it allows you to create standalone subject sources. While there are probably subtle differences in the way both solutions are implemented, I don't recall coming across a situation where they behave differently, but maybe Gonçalo can speak to that at some point.
Anyway, how to use this feature?
First, you should have a node with the type of the Subject to-be-created. Let's say I want to have an int-type BehaviorSubject. Add a "temporary" Int node, right-click on it, Create Source, BehaviorSubject (A). This will create a BehaviorSubject source with the type Int that you can connect to other nodes (e.g., CSV). Similar to the previous workflow, you can simply MulticastSubject to it (B).
(A)
(B)
Sometimes, you might want to have a subject with a type that is not natively available as a source node in bonsai. The logic remains the same, as long as you can construct a node with the intended type, it does not matter. For instance, in the workflow that I sent you, I have a tuple with two ints (Tuple<int,int>). We can construct this type by using Zip on two Int. (C). Finally, repeat the "right-click on it, Create Source, BehaviorSubject (A)", and you will have your subject source!
(C)
Hope it is clear & cheers,
Bruno