public override void RegisterModuleTypes(ModuleRegistrationContext context, ContainerBuilder containerBuilder)
{
RegisterStylesheetRendererType<PageStylesheetAccessor, PageProperties>(containerBuilder);
RegisterJavaScriptRendererType<PageJavaScriptAccessor, PageProperties>(containerBuilder);
RegisterStylesheetRendererType<PageStylesheetAccessor, Root.Models.Page>(containerBuilder);
RegisterJavaScriptRendererType<PageJavaScriptAccessor, Root.Models.Page>(containerBuilder);
RegisterContentRendererType<HtmlContentAccessor, HtmlContent>(containerBuilder);
RegisterContentRendererType<HtmlContentWidgetAccessor, HtmlContentWidget>(containerBuilder);
RegisterContentRendererType<ServerControlWidgetAccessor, ServerControlWidget>(containerBuilder);
containerBuilder.RegisterType<DefaultPageService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultRedirectService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultTagService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultHistoryService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultSitemapService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultUrlService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultLayoutService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultPreviewService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultMasterPageService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultPageCloneService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultWidgetService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultDraftService>().AsImplementedInterfaces().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultPageListService>().As<IPageListService>().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultUntranslatedPageListService>().As<IUntranslatedPageListService>().InstancePerLifetimeScope();
containerBuilder.RegisterType<DefaultRedirectControl>().As<IRedirectControl>().InstancePerLifetimeScope();
// Registering root module, because root module register the last one, and this one should be before users module
containerBuilder.RegisterType<EmptyUserProfileUrlResolver>().As<IUserProfileUrlResolver>().InstancePerLifetimeScope();
}