Extracted the listener creation into a factory. Created for this purpose
the interface EventListenerAdapterFactory and the default implementation
DefaultListenerAdapterFactory which uses the ServiceLoader facility of
the JDK to load the available EventListenerAdapter implementations.