You introduced virtual ProtocolChatTitle in XmppProtocolManager so why not use that in XmppProtocolManager.ToString()?