I wrote a native JS implementation for backbone before. My events also support namespaces, feel free to steal/borrow the code.

https://github.com/milesj/backbone/blob/master/adapters/backbone-vanilla.js