protected override TMessage Deserialize <TMessage>(JObject message)
 => JsonSerialization.Deserialize <TMessage>(message);
 protected override JObject Decode(byte[] message)
 => JsonSerialization.Deserialize(Encoding.UTF8.GetString(message));