Should be callback free, emits a new event goes to stream. Listens to stream for events targated to it.
The abstraction I want each component is that it can be connected to n no. of streams and can figure out if the event is for it. Outputs its side effect to a global stream.