Event emitter component.
$ component install component/emitter
The Emitter may also be used as a mixin. For example
a "plain" object may become an emitter, or you may
extend an existing prototype:
var obj = {};
Emitter(obj);
Emitter(User.prototype);Register an event handler fn.
Register a single-shot event handler fn,
removed immediately after it is invoked the
first time.
Remove event handler fn, or pass only the event
name to remove all handlers for event.
Emit an event with variable option args.
Return an array of callbacks, or an empty array.
Check if this emitter has event handlers.