A handler implementation that helps you implement complex protocols by splitting messageReceived handlers into multiple sub-handlers.