public void Constructor_Message_PropertyMessage ()
		{
			var msg = new Message();
			msg.Name = "1";
			msg.Value = "2";

			var target = new MessageEventArgs(msg);
			Assert.AreEqual("1", target.Message.Name);
			Assert.AreEqual("2", target.Message.Value);

			target = new MessageEventArgs("3", "4");
			Assert.AreEqual("3", target.Message.Name);
			Assert.AreEqual("4", target.Message.Value);
		}
		/// <summary>
		/// Raises the message received event.
		/// </summary>
		/// <param name="e">The event arguments.</param>
		internal protected virtual void OnMessageReceived (MessageEventArgs e)
		{
			if (CanReceiveMessages) {
				var msg = e.Message;

				LogService.Debug ("MessengerBase.OnMessageReceived: {0} = {1}.", msg.Name, msg.Value);

				if (msg.Name.Equals (DisconnectMessageName)) {
					OnDisconnected (new DisconnectedEventArgs(DisconnectionReason.RemoteQuit));
				} else {
					MessageReceived.Raise (this, e);
				}
			} else {
				m_messagesReceivedBuffer.Enqueue (e);
			}
		}