code: function Option(options){
  		// options should be an object
  		if ( typeof options !== 'object' ) {
  			throw new Error('options should be an object');
  		}
  		
  		// All options except value must be provided.
  		if ( !options.name || !options.description || !options.type || options.defaultValue === undefined ) {
  			throw new Error('name,description, type, and defaultValue required');
  		}
  
  		// Set name of option
  		this.name = options.name;
  
  		// A description of the setting.
  		this.description = options.description;
  
  		// The type of value `this` option can have.
  		if ( options.type !== Array && options.type !== Number && options.type !== Boolean &&
  			options.type !== String && options.type !== Object ){
  
  			throw new Error('Option type must be Boolean,Number,Function,String, or Object');
  		}
  
  		this.type = options.type;
  
  		// Default value as defined by node-jshint
  		this.defaultValue = options.defaultValue;
  
  		// Current value takes default value by default.
  		this.setValue( options.defaultValue );
  	}
docs: Option constructor