moved JSON decoding to the message object from the decoders