/// <summary>
        /// This is simple Implementation That will Holds Implementation that will instantiate publisher and subscriber for sending
        /// messages
        /// </summary>
        /// <param name="errorHandler">Error Log Action Handler Expect to be log</param>
        /// <param name="messageFormatter">An Implementation That Hold Massage Data Implementation</param>
        public void SendMessage(Action <String> errorHandler,
                                IMessageFormatter messageFormatter)
        {
            // Instantiate A Publisher
            if (MessagingPublisher == null)
            {
                MessagingPublisher = new MessagingPublisher();
            }

            // Instantiate A Subscriber
            if (MessagingSubscriber == null)
            {
                MessagingSubscriber = new MessagingSubscriber(MessagingPublisher);
            }

            if (MessagingSubscriber.Publisher == null)
            {
                errorHandler(ExceptionCode.SimpleMessaging_NullExceptionThrownForPublisherOverSubscriber);
            }
            else
            {
                MessagingSubscriber.Publisher.DataPublisher += PublisherOnDataPublisher;
                MessagingPublisher.TransformAndPublishData(errorHandler, messageFormatter.MassageData());
            }
        }
 public MessagingSubscriber(IMessagingPublisher publisher)
 {
     Publisher = publisher;
 }