Listener now requires all derived classes to define the function "registerListeners"