title: Where should the Page Objects be instantiated?
body: <p>I would like to know where should I instantiate my Page objects?
  Here is my project hierarchy:</p>
  
  <p>Pages : Contains all page objects with constructor such as</p>
  
  <pre><code>public LoginPage extends BasePage
   {
     super(driver);
     PageFactory.initElements(driver, this);
  }
  </code></pre>
  
  <p>My BasePage contains all common methods such as table handling, data gathering from webtable etc..</p>
  
  <p>I have a baseTest which contains all of the Page Objects instantiation and my tests are extend this class.</p>
  
  <pre><code>LoginPage loginPage = new LoginPage(driver);
  </code></pre>
  
  <p>I have helper (non-static) classes as well for navigation, database connection, custom waits etc.</p>
  
  <p>Any best practice? Basetest is the proper place to instantiate them?</p>
  
  <p>Thanks!</p>