ListenerInterface is mandatory