protected override JObject?Serialize <TMessage>(TMessage instance)
 => JsonSerialization.Serialize(instance);
 protected override byte[] Encode <TMessage>(TMessage message)
 => Encoding.UTF8.GetBytes(JsonSerialization.Serialize(message).ToString());