public static void Notify <TUowProvider>( this Func <TypeContract, IEnumerable <Action <INotification, TUowProvider> > > consumerContractSubscriptions, IDomainEvent notification, TUowProvider provider) where TUowProvider : IUowProvider { foreach (var action in consumerContractSubscriptions(notification.Contract())) { action(notification, provider); } }