An listener that will be notified when an event occurs, if it is registered to {@link org.zkoss.zk.ui.Component#addEventListener}.
If an event listener also implements {@link Deferrable}and {@link Deferrable#isDeferrable} returns true, the eventfor the listener will NOT be sent to the server immediately (when it is fired at the client). It is called the deferrable event listener. It helps to improve the performance since the deferred events will be 'packed' together and sent to the server at once. It is usully used for event listeners that maintains the application states, rather than generating visual responses.
By default (i.e., if {@link Deferrable} is not implemented), the eventlistener is not deferrable. It is also called the ASAP event listener.
If an event listener also implements {@link Express}, the event listener is evaluated before all other listeners, including the onXxx members declared in the ZUML page.
By default (i.e., if {@link Express} is not implemented,the event listener is eveluated after the onXxx members declared in the ZUML page, but before the onXxx methods declared in the component class.
@author tomyeh
@see Deferrable
@see Express