Do we really want a stateful listener which is never reset ? This looks weird to me