docs: function setFunction(descriptor,key,set,update)
          {
            var _descriptor = descriptor,
                _descVal = _descriptor.value,
                _key = key,
                _set = set,
                _update = update,
                _action;
            return function functionSet()
            {
              if(_set(this,_key,null,null,arguments,this._stopChange))
              {
                _action = _descVal.apply(this,arguments);
              }
              if(!this._stopChange)
              {
                _update(this,_key,null,null,arguments,_action);
              }
              this._stopChange = undefined;
              return _action;
            }
          }