public override string Manifest(object o)
{
if (o is Internal.Status) return StatusManifest;
if (o is Internal.Delta) return DeltaManifest;
if (o is Send) return SendManifest;
if (o is SendToAll) return SendToAllManifest;
if (o is Publish) return PublishManifest;
throw new ArgumentException(string.Format("Serializer {0} cannot serialize message of type {1}", this.GetType(), o.GetType()));
}