/// <summary>
        /// Handles a <see cref="SubscribeMessage"/>
        /// </summary>
        /// <param name="self">The <see cref="IPublishMessageActor"/></param>
        /// <param name="message">The <see cref="SubscribeMessage"/></param>
        internal static void HandleSubscription(this IPublishMessageActor self, SubscribeMessage message)
        {
            self.HandleSubscriptionMessage(message);

            if (self.AutoWatchSubscriber)
            {
                self.ActorContext.Watch(message.Subscriber);
            }

            if (self.Subscribers.Any(x => Equals(x.Item1, message.Subscriber) && x.Item2 == message.MessageType))
            {
                if (message.Confirmation)
                {
                    message.Subscriber.Tell(new SubscribedMessage(true));
                }
                return;
            }

            if (!self.SubscribableMessages.Contains(message.MessageType))
            {
                if (message.Confirmation)
                {
                    message.Subscriber.Tell(new SubscribedMessage(false));
                }
                return;
            }



            self.Subscribers.Add(new Tuple <IActorRef, Type>(message.Subscriber, message.MessageType));

            if (message.Confirmation)
            {
                message.Subscriber.Tell(new SubscribedMessage(true));
            }
        }
 /// <summary>
 ///     Handles the <see cref="SubscribeMessage" /> to handle subscribtions.
 /// </summary>
 /// <param name="message">The message.</param>
 public virtual void HandleSubscriptionMessage(SubscribeMessage message)
 {
 }
 /// <summary>
 ///     Handles the <see cref="SubscribeMessage" /> to handle subscribtions.
 /// </summary>
 /// <param name="message">The message.</param>
 public virtual void HandleSubscriptionMessage(SubscribeMessage message)
 {
 }
            public override void HandleSubscriptionMessage(SubscribeMessage message)
            {
                _subscribeMessages++;

                base.HandleSubscriptionMessage(message);
            }