[WIP] Encoder

We want to only have one place to serialize / deserialize envelopes but still allow flexibility for the Messages.