public static void Handle(IException e) { ExceptionFactory factory = ExceptionFactories.GetExceptionFactory(e); PublisherList publishers = factory.CreatePublishers(); IAction action = factory.CreateAction(); action.Run(e, publishers); }