code: function WebServer(data) {
    // Use a closure to preserve `this`
    var self = this;
    self.data = data;
  
    this.RequestHandler = bind(this.RequestHandler, this);
    this.callbackExecutor = bind(this.callbackExecutor, this);
  
    self.server = http.createServer(self.RequestHandler);
  
    // Use random port if port settings is not provided.
    if (!self.data.port) {
      self.data.port = 0;
    }
  
    // Use address if provided.
    if (self.data.hostname) {
      self.server.listen(self.data.port, self.data.hostname);
    } else {
      self.server.listen(self.data.port);
    }
  
    self.server.on('listening', function() {
      self.debug.log('Listen on :%s', self.server.address().port);
    });
  }
docs: Constructor.
  Prepare data for deploy.