Selenium WebDriver Architecture - How It Works?