public void HandleApplicationEvent(object sender, ApplicationEventArgs e)
 {
     if(_eventTypes == null || _eventTypes.Count == 0) {
         SendEventAsMessage(e);
         return;
     }
     foreach(Type type in _eventTypes) {
         if(type.IsAssignableFrom(e.GetType())) {
             SendEventAsMessage(e);
             return;
         }
     }
 }