Jon,
If I recall correctly, the event listening/dispatching paradigm is pretty much based on a normal Observer design pattern. If you just want DOM-less event dispatching in TypeScript, I've already wrote a simple little library to do just that. You can find it
on GitHub as EventDispatcher-ts. I've only ever used it on pure ts classes that weren't already inheriting from another base, but you should still be able to make it work if you do it right. I hope
this helps!