public static void Initialize( HttpConfiguration config, IApiContainer container = null, IDomainServiceResolver domainServiceResolver = null, Action <HttpConfiguration> postConfigure = null, bool initializeHelpPage = true) // TODO: refactor to instance BootStrapper class and make InitializeDocumentationApplication() public; pass all parameter in a constructor or factory { if (config == null) { throw new ArgumentNullException("config"); } var hconfig = SetConfiguration(config, postConfigure); container = container ?? CreateContainer(config, domainServiceResolver); container.RegisterDependencies(); SetupDependencyResolver(config, container); ConfigureFormatters(config, container); ConfigureMessageHandlers(config.MessageHandlers, container); ConfigureFilters(config.Filters, container); container.Resolve <IWebApiConfigurator>() .Configure(config, hconfig); if (initializeHelpPage) { InitializeDocumentationApplication(config, container); } }