docs: function (configuration, events, config) {
      var deferred = Q.defer();
  
      // override desired capabilities, status & browser longname
      this.desiredCapabilities = this._generateDesiredCaps(configuration.name, config);
      this.driverDefaults.status = this._generateStatusInfo(this.desiredCapabilities);
      this.longName = this._generateLongName(configuration.name,config);
  
      // store injected configuration/log event handlers
      this.reporterEvents = events;
      this.configuration = configuration;
      this.config = config;
  
      // immediatly resolve the deferred
      deferred.resolve();
      return deferred.promise;
    }