private static Container BuildContainer()
        {
            _testTracker = new TestTracker();

            var container = new Container(cfg =>
            {
                cfg.Scan(scanner =>
                {
                    scanner.AssemblyContainingType <TestRequest>();
                    scanner.AssemblyContainingType <IMediator>();
                    scanner.AddAllTypesOf(typeof(IRequestHandler <,>));
                    scanner.AddAllTypesOf(typeof(IEventHandler <>));
                    scanner.AddAllTypesOf(typeof(IPreRequestHandler <>));
                    scanner.AddAllTypesOf(typeof(IPostRequestHandler <,>));
                    scanner.WithDefaultConventions();
                });
                cfg.For(typeof(IRequestHandler <,>))
                .DecorateAllWith(typeof(MediatorPipeline <,>));

                cfg.For <TestTracker>().Use(_testTracker);
            });

            return(container);
        }
 public TestEventHandlerOne(TestTracker tracker)
 {
     _tracker = tracker;
 }
 public PostRequestTest(TestTracker tracker)
 {
     _tracker = tracker;
 }
 public PreRequestTest(TestTracker tracker)
 {
     _tracker = tracker;
 }