More Listener refactoring