Base class for all event sources.
Holds the registered listeners.
Adds a listener for the given event name. Note that the method of the listener object must have the same name as the event it’s being added for. This is different from other language implementations of this class.
Fires the event for the specified name.