code: private void init(WebDriver driver, Reporter reporter) {
          this.driver = driver;
          this.reporter = reporter;
  
          App app = null;
          if (reporter != null) {
              app = reporter.getApp();
          }
  
          is = new Is(this);
          get = new Get(app, driver, this);
          verifyState = new VerifyState(this, reporter);
          assertState = new AssertState(this, reporter);
          waitForState = new WaitForState(this, reporter);
          verifyContains = new VerifyContains(this, reporter);
          assertContains = new AssertContains(this, reporter);
          verifyExcludes = new VerifyExcludes(this, reporter);
          assertExcludes = new AssertExcludes(this, reporter);
          verifyEquals = new VerifyEquals(this, reporter);
          assertEquals = new AssertEquals(this, reporter);
          waitForEquals = new WaitForEquals(this, reporter);
          verifyMatches = new VerifyMatches(this, reporter);
          assertMatches = new AssertMatches(this, reporter);
      }
docs: A private method to finish setting up each element
  
  @param driver   - the selenium web driver, the underlying way all actions and
  assertions are controlled
  @param reporter - the TestOutput file. This is provided by the
  SeleniumTestBase functionality