Reading: Event Driven Applications - jacobwendt-401-advanced-javascript/cr-js-401d3 GitHub Wiki
Event Emitter
Emitters periodically emit events that cause listener objects to be called.
All objects that emit events are members of EventEmitter class.
These objects expose an eventEmitter.on()
By default, all listeners attached to a particular event object are called by the EventListener object synchronously in the order in which they are registered or attached to the event object.
Event-Driven Programming
Logical pattern that we can choose to confine our programming within to avoid issues of complexity and collision.