code: function SeleniumWebdriverBrowser(id, baseBrowserDecorator, args, logger) {
    baseBrowserDecorator(this);
  
    var self = this;
    var captured = false;
    var log = logger.create('launcher.selenium-webdriver');
    var browserName = args.browserName;
    var killingPromise;
  
    self.id = id;
    self.setName(browserName);
  
    log.info('SeleniumWebdriverBrowser (kid:'+id+') created');
  
    self._start = function(url){
      log.info('starting '+self.name);
      var driver = args.getDriver();
      self.driver_ = driver;
  
      self.getSession_(function(session){
        // TODO: caps_ might be a defer as well
        self.setName(session.caps_.caps_);
      });
  
      log.info('sending driver to url '+url);
      driver.get(url);
    };
  
    self.kill = function(){
  
      // Already killed, or being killed.
      if (killingPromise) {
        return killingPromise;
      }
  
      var deferred = q.defer();
  
      killingPromise = deferred.promise;
  
      self.getSession_(function(session){
        log.info('requested to kill, session id is '+(session && session.id_));
  
        if (!session) {
          return deferred.reject();
        }
  
        if(session.id_){
          self.driver_ && self.driver_.quit();
          deferred.resolve();
        }
      });
  
      return killingPromise;
  
    };
  
    self.forceKill = function() {
      self.kill();
      return killingPromise;
    };
  
  }
docs: var webdriver = require('selenium-webdriver');