docs: function(param, description, values, signature) {
        var optionArgs = arguments;
        if(optionArgs.length === 1) {
          return _definition[param];
        }
  
        var paramList = Array.isArray(param) ? param : [param];
        var vector;
        var optionDef = {
          param: paramList,
          value: function() {
            // Default, no values or signature
            if(optionArgs.length === 2) return false;
  
            if(!vector) vector = Vector(values, signature);
            return vector;
          },
          signature: Array.isArray(signature) ? signature : null,
          description: description
        };
  
        // Define both short/long
        paramList.forEach(function(p) {
          _definition[p] = optionDef;
        });
  
        return this;
      }