code: function(opts) {
  	EventEmitter.call(this);
  	this.port = opts.port;
  	this.env = opts.env;
  	this.values = {};
  	this.master = opts.master;
  
  	this.modules = {};
  	this.commands = {
  		'list': listCommand,
  		'enable': enableCommand,
  		'disable': disableCommand
  	};
  
  	if (this.master) {
  		this.authUser = opts.authUser || utils.defaultAuthUser;
  		this.authServer = opts.authServer || utils.defaultAuthServerMaster;
  		this.agent = new MasterAgent(this, opts);
  	} else {
  		this.type = opts.type;
  		this.id = opts.id;
  		this.host = opts.host;
  		this.authServer = opts.authServer || utils.defaultAuthServerMonitor;
  		this.agent = new MonitorAgent({
  			consoleService: this,
  			id: this.id,
  			type: this.type,
  			info: opts.info
  		});
  	}
  }
docs: ConsoleService Constructor
  
  @class ConsoleService
  @constructor
  @param {Object} opts construct parameter
  opts.type 	{String} server type, 'master', 'connector', etc.
  opts.id 		{String} server id
  opts.host 	{String} (monitor only) master server host
  opts.port 	{String | Number} listen port for master or master port for monitor
  opts.master  {Boolean} current service is master or monitor
  opts.info 	{Object} more server info for current server, {id, serverType, host, port}
  @api public