async exists(retryInterval, retryTimeout) {
    try {
      await firstElement.apply(this, [retryInterval, retryTimeout]);
    } catch (e) {
      if (e.message === `${this._description} not found`) {
        descEvent.emit("success", "Does not exist");
        return false;
      }
      throw e;
    }
    descEvent.emit("success", "Exists");
    return true;
  }
@description Checks existence for element. `exists()` waits for `retryTimeout` before deciding that the page is loaded.
(NOTE: `exists()` returns boolean from version `0.4.0`)
@since 0.4.0
@param {number} retryInterval Retry Interval in milliseconds (defaults to global settings).
@param {number} retryTimeout Retry Timeout in milliseconds (defaults to global settings).
@returns {boolean} true if exists, else false.
@example
// To 'short-circuit' non existence. However this should be done only if there is no network calls/reloads.
element.exists(0,0)
@example
link('google').exists()
@example
link('google').exists(1000)