| This might be what's happening, which would surface as no sensible declaration ordering: //try making the logger first var logger = require('myLogger')(backends); var listener1 = require('mySync')(logger); var backends = Rx.Observable.fromArray([listener1, listener2]); //try making the backends first var listener1 = require('mySync')(logger); var backends = Rx.Observable.fromArray([listener1, listener2]); var logger = require('myLogger')(backends); From there, you'd switch to unsafe FRP methods (imperatively injecting into event streams, e.g., Subjects in Rx), which is the warning sign of weird cyclic behavior. |