public Task ReceiveMessageAsync(MessageWrapper message)
		{
			var payload = Deserialize<PublishedMessageOne>(message);
			ActorEventSource.Current.ActorMessage(this, $"Received message: {payload.Content}");
			//TODO: handle message
			return Task.FromResult(true);
		}
		/// <summary>
		/// Convert the provided <paramref name="message"/> into a <see cref="MessageWrapper"/>
		/// </summary>
		/// <param name="actor"></param>
		/// <param name="message"></param>
		/// <returns></returns>
		public static MessageWrapper CreateMessageWrapper(this ActorBase actor, object message)
		{
			var wrapper = new MessageWrapper
			{
				MessageType = message.GetType().FullName,
				Payload = JsonConvert.SerializeObject(message),
			};
			return wrapper;
		}
        /// <summary>
        /// Convert the provided <paramref name="messageWrapper"/> into an object of type <typeparamref name="TResult"/>
        /// </summary>
        /// <param name="messageWrapper"></param>
        /// <returns></returns>
        public static TResult CreateMessage <TResult>(this MessageWrapper messageWrapper)
        {
            var message = (PayloadSerializer ?? new DefaultPayloadSerializer()).Deserialize <TResult>(messageWrapper.Payload);

            return(message);
        }