private static ISelenoApplication New(Action<IAppConfigurator> configure)
        {
            if (configure == null)
                throw new ArgumentNullException("configure");

            var configurator = new AppConfigurator();
            configure(configurator);
            Host = configurator.CreateApplication();
            Host.Initialize();

            return Host;
        }
        public static AppConfigurator TestableAppConfigurator()
        {
            var webApplication = new WebApplication(Substitute.For<IProjectLocation>(), 45123);
            var configurator = new AppConfigurator();
            configurator.WithJavaScriptExecutor(() => Substitute.For<IJavaScriptExecutor>());
            configurator.WithWebDriver(() => Substitute.For<IWebDriver>());

            configurator
                .ProjectToTest(webApplication)
                .WithWebServer(Substitute.For<IWebServer>())
                .UsingCamera(new NullCamera());

            return configurator;
        }