lib/configuration.js
function property(fn, arg) {
      var base = [ section, name ];

      return {
        writable: false,
        enumerable: false,
        value: function () {
          if (arg) base.push(arg);

          return fn.apply(self, base.concat(
            Array.prototype.slice.apply(arguments)
          ));
        }
      };
    }
function property(fn, arg) {
      var base = [ section, name ];

      return {
        writable: false,
        enumerable: false,
        value: function () {
          if (arg) base.push(arg);

          return fn.apply(self, base.concat(
            Array.prototype.slice.apply(arguments)
          ));
        }
      };
    }
function property ( fn , arg ) { var base = [ section , name ] ; return { writable : false , enumerable : false , value : function ( ) { if ( arg ) base . push ( arg ) ; return fn . apply ( self , base . concat ( Array . prototype . slice . apply ( arguments ) ) ) ; } } ; }
Generate property descriptor.

@param {Function} fn Method to call.
@param {Mixed} arg Additional default arguments, other than section and name.
@return {Object} Property description.
Generate property descriptor .