docs: function Cli(cliOptions) {
  	if (cliOptions === undefined) {
  		cliOptions = {};
  	}
  
  	this.description = cliOptions.description || '';
  	this.scriptName = cliOptions.scriptName;
  	this.verboseEnabled = (cliOptions.verboseEnabled !== undefined) ? cliOptions.verboseEnabled : true;
  	this.helpEnabled = (cliOptions.helpEnabled !== undefined) ? cliOptions.helpEnabled : true;
  	this.helpOnNoArgs = (cliOptions.helpOnNoArgs !== undefined) ? cliOptions.helpOnNoArgs : true;
  	this.exitOnHelp = (cliOptions.exitOnHelp !== undefined) ? cliOptions.exitOnHelp : true;
  	this.allowExtraArgs = (cliOptions.allowExtraArgs !== undefined) ? cliOptions.allowExtraArgs : false;
  
  	this.elements = {
  		options: [],
  		flags: [],
  		envVars: [],
  		commandGroups: []
  	};
  
  	// Result Containers
  	this.params = {};
  	if (this.verboseEnabled) {
  		this.params.verbose = 0;
  	}
  	this.env = {};
  
  	//Don't use this, just for testing.
  	this.processEnv = cliOptions.processEnv || process.env;
  }