introduce callback hooks for MessageCenter::Service functions
callback hooks allow alternate and multiple ways to handle events.
for example, mail dispatching can be done using job queue libraries without introducing runtime dependencies into the gem.