Consolidate listeners; all are handled through the ListenerManager