public void PublishEvent(object evnt)
        {
            if (!_started)
            {
                return;
            }

            var eventTypeName = evnt.GetType().FullName;
            var addresses     = _subscriptionStore.GetSubscriberAddressesForMessage(evnt.GetType());

            if (addresses.Count() == 0)
            {
                return;
            }

            var message = CreateMessage(evnt);

            foreach (var address in addresses)
            {
                _logger.DebugFormat("Sending event message '{0}' to address '{1}'.", eventTypeName, address);
                _messageTransport.SendMessage(message, address);
                _logger.DebugFormat("Sent event message '{0}' to address '{1}'.", eventTypeName, address);
            }
        }