The Delegation Event Model
The delegation event model derives its name from the fact that event handling is delegated from an event source to one or more event listeners.
The premise behind the delegation event model is simple: components fire events, which can be listened for and acted upon by listeners. Listeners are registered with a component by invoking one of a number of addXYZListener(XYZListener) methods. After a listener is added to a component, appropriate methods in the listener's interface will be called when the corresponding type of event is fired by the component.