public void DispatchSending(MessageEvent messageEvent) {
     foreach (IMessageEventSubscriber subscriber in this._subscribers) {
         subscriber.OnSending(messageEvent);
     }
 }
 public void DispatchReceived(MessageEvent messageEvent) {
     foreach (IMessageEventSubscriber subscriber in this._subscribers) {
         subscriber.OnReceived(messageEvent);
     }
 }
 /// <summary>
 ///     Occurs before a message is send
 /// </summary>
 /// <param name="event"></param>
 public void OnSending(MessageEvent @event)
 {
     // we are currently not interested in these
 }
 /// <summary>
 ///     Occurs when a message is received
 /// </summary>
 /// <param name="event"></param>
 public void OnReceived(MessageEvent @event)
 {
     _eventAggregator.BeginPublishOnUIThread(@event);
 }
 /// <summary>
 /// Occurs before a message is send
 /// </summary>
 /// <param name="event"></param>
 public void OnSending(MessageEvent @event) {
     this._synchronizationContext.Post(s => ((IMessageEventSubscriber)s).OnSending(@event), this._eventSubscriber);
 }
 /// <summary>
 /// Occurs before a message is send
 /// </summary>
 /// <param name="event"></param>
 public void OnSending(MessageEvent @event) {
     IMessageEventSubscriber instance;
     if (this._eventSubscriber.TryGetTarget(out instance)) {
         instance.OnSending(@event);
     }
 }