Should this use `registered_listeners` rather than accessing the ivar directly?