internal void NotifyFailure(MessageDelivery delivery, bool permanent)
{
foreach (RuntimeService service in ServiceLocator.GetAllInstances<RuntimeService>())
{
service.OnMessageDeliveryFailed(delivery, false);
}
var failed = _messageDeliveryFailed;
if (failed != null) failed(this, new MessageDeliveryFailedEventArgs() { MessageDelivery = delivery, Permanent = permanent });
}