protected virtual void SetControllerFactory(PipelineArgs args)
        {
            var container = new Container();

            PackageExtensions.RegisterPackages(container, AppDomain.CurrentDomain.GetAssemblies().Where(a => a.FullName.StartsWith("SitecoreMVC."))); // you can customize this to what ever you need

            var simpleInjectorControllerFactory = new SimpleInjectorControllerFactory(container);
            var sitecoreControllerFactory       = new Sitecore.Mvc.Controllers.SitecoreControllerFactory(simpleInjectorControllerFactory);

            ControllerBuilder.Current.SetControllerFactory(sitecoreControllerFactory);
        }
        protected virtual void SetControllerFactory(PipelineArgs args)
        {
            var container = new Container();

            PackageExtensions.RegisterPackages(container, AppDomain.CurrentDomain.GetAssemblies().Where(a => a.FullName.StartsWith("SitecoreMVC."))); // you can customize this to what ever you need

            var simpleInjectorControllerFactory = new SimpleInjectorControllerFactory(container);
            var sitecoreControllerFactory = new Sitecore.Mvc.Controllers.SitecoreControllerFactory(simpleInjectorControllerFactory);

            ControllerBuilder.Current.SetControllerFactory(sitecoreControllerFactory);
        }