Trying to work out the Encoder/Decoder/MessageHandler flows