ListenerFactory implementation