Ooh, yes please, and can we also please have every browser provide slightly different behavior, preferably through prefixed APIs? That way, we can have a dozen new libraries that smooth over the differences until Ecma has a chance to standardize it in 2015 or so! What fun!
> BTW. In the browser the native and well documented way of dealing with callbacks is by using the EventTarget API
Closure Library uses EventTarget for their event handling system[1], thus making it work exactly the same for browser events and custom events. YUI 3 takes similar approach, but instead they use their own API, however also based on DOM events model.
However, the implication is that it’s based on the DOM event model. So, for example, you have three stage processing: 1) capture phase, 2) target phase, and 3) bubble phase. YUI 3 has its own API, but they still follow that model. This is a bit stronger contract than just your generic ‘EventEmitter,’ which only implies a simple observer model.
As an occasional Javascripter, I've gone looking for this several times, and each time been bemused to discover it isn't there (probably just as an instantiatable EventTarget).
Better package management might help, but some things are fundamental enough that they belong in the core library. I'm pretty certain this is one of them.