code: function defProp(obj, prop, val) {
      var desc = defProp.desc || (
        defProp.desc = {
          enumerable: false,
          writable: false,
          configurable: false,
          value: null
        }
      );
      desc.value = val;
      Object.defineProperty(obj, prop, desc);
    }
docs: adopted version of withValue from  https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty