It might be more accurate to call this object an EventEmitter but I went with Stream because of the `pipe` method. I would have liked to piggy-back on video.js's event system but that would have required extending [Component](https://github.com/videojs/video.js/blob/master/src/js/component.js) and creating an unnecessary DOM element. 

I've written something like this in a couple plugins now. It may be worth extracting and standardizing somewhere.