public void Publish <TMessage>(TMessage message) { _messages.OnNext(message); var m = message as Message ?? new Message { Body = message }; var serialized = _messageCodec.Serialize(m); _outgoing.Send(serialized); }