Added a size() method, which returns the number of listeners registered
with a ListenerSupport
Corrected curly-brace positioning.
Added caching of proxies to avoid the cost of reflectively creating them
on every call to a fire method. Also added protected fireWithHandler
method which allows subclasses to use custom invocation handlers.
Rearranged the packages again.