check we can have a formatter that doesnt register to events
register listeners based on the messages they subscribe to
refactor to make register_listener a public api
use method rather than ivar directly
Merge pull request #884 from JonRowe/make_reporter_register_and_send

Send formatters only messages they implement