Handles receiving events and dispatching them to subscribers
Fire an event to anyone subscribed to it
Any object can generate an event and any object can subscribe to the event's name as a string (arbitrary, but case sensitive) and any extra payload data that may pertain to the event.
Callbacks must implement the signature "callback(event, payload)", with "event" being the event's name and payload being a payload object specific to the event.
Subscribe a listener to an event -- pass in the event name (as a string) and the callback object
Unsubscribe a listener from an event -- pass in the event name (as string) and the callback object
The GenericEventListener can be subclassed to easily create custom event listeners.
Actual event callback called with name of event and optional payload. Not implemented here, override in child classes.
Subscribes the eventCallback method for all events in the given list.
Unsubscribes the eventCallback method for all events in the given list