Foundation for your emitter implementation. 202 reasons to not write your own implementation of event emitter.