The component of a graph responsible for managing events and listeners.
The interface extends GraphListener because most of the notificiations are
the same; the special case to note is that an event manager expects to be
handed iterator events as lists, not as iterators.
Attached listener to this manager; notification events
sent to the manager are sent to all registered listeners. A listener may
be registered multiple times, in which case it's called multiple times per
A listener will be notified of an event if it is registered
before the Graph method call that initiated the event, and
was not unregistered before that method call returned.
In addition, a listener may (or may not) be notified
of an event if it is registered
before such a method returns or is unregistered after such
a method is called. For example, it may unregister itself
in response to the event.
If the registration and/or unregistration occur on different
threads the usual thread uncertainties in such statements apply.