I'm not attached to this implementation, but here are some things I'm wanting to optimize for

* I should be able have helpers to easily map functions over a set of Streams. Like `.on` and `.start()`. Instead of a new function type, we could go functional here and have static helpers like
    
    utils.stream.map({ main: stream1, reverse: stream2 }, fn);

But somehow that doesn't seem sugary enough. 

* This set of concerns is useful as separate from the View class, which is where some of it before. What I'm looking for, I'd want to use even in environment where there is no DOM.