public override void Register(StructureMap.IContainer container, List<SiteRoute> routes, System.Web.Mvc.ViewEngineCollection viewEngines, System.Web.Mvc.ModelBinderDictionary modelBinders, ICollection<Domain.Asset> globalAssets)
        {
            container.Inject(typeof (IThemeSwitcherService),
                             new ThemeSwitcherService(container.GetInstance<IThemeService>(),
                                                      container.GetInstance<IAtomPubService>(),
                                                      container.GetInstance<IAppServiceRepository>()));

            RegisterWidget(container, new CompositeWidget("ThemeSwitcherWidget", "ThemeSwitcher", "Widget")
            {
                Assets = new string[] { "ThemeSwitcher.css", "ThemeSwitcher.js" }.Select(a => new Asset(a)),
                SupportedScopes = SupportedScopes.All,
                AreaHints = new[] { "content" }
            });

            RegisterWidget(container, new CompositeWidget("ThemeWidget", "ThemeSwitcher", "ThemeWidget")
            {
                SupportedScopes = SupportedScopes.All,
            });

            RegisterController<ThemeSwitcherController>(container);

            SetupIncludeInPageArea(container, "Site", "tail", "ThemeSwitcherWidget");
        }