private static void AttachDriverEventListener(IWebDriver driver, ISeleniumEventHandler eventHandler)
 {
     ((EventFiringWebDriver)driver).Navigating           += eventHandler.OnNavigating;
     ((EventFiringWebDriver)driver).Navigated            += eventHandler.OnNavigated;
     ((EventFiringWebDriver)driver).ElementClicking      += eventHandler.OnElementClicking;
     ((EventFiringWebDriver)driver).ElementClicked       += eventHandler.OnElementClicked;
     ((EventFiringWebDriver)driver).ElementValueChanging += eventHandler.OnElementValueChanging;
     ((EventFiringWebDriver)driver).ElementValueChanged  += eventHandler.OnElementValueChanged;
     ((EventFiringWebDriver)driver).FindingElement       += eventHandler.OnFindingElement;
     ((EventFiringWebDriver)driver).FindElementCompleted += eventHandler.OnFindElementCompleted;
     ((EventFiringWebDriver)driver).ExceptionThrown      += eventHandler.OnExceptionThrown;
 }
        //private Driver driver = new Driver();

        //public DriverFactory

        //public Driver Build()
        //{
        //    return driver;
        //}

        public static IWebDriver Create(Browser browser, ISeleniumEventHandler eventHandler)
        {
            IWebDriver driver;

            switch (browser)
            {
            case Browser.Chrome:
                driver = new ChromeDriver();
                break;

            default:
                throw new ArgumentOutOfRangeException($"{nameof(Browser)} is currently not supported");
            }

            if (eventHandler != null)
            {
                driver = new EventFiringWebDriver(driver);
                AttachDriverEventListener(driver, eventHandler);
            }

            driver.Manage().Window.Maximize();
            return(driver);
        }