Made listeners easy to extend