code: function setStyle(descriptor,key,set,update,el)
          {
            var _proto = el.style,
                _descriptor = descriptor,
                _key = key,
                _keyCP = key.replace(/([A-Z])/g, "-$1").replace('webkit','-webkit'),
                _set = set,
                _update = update,
                _el = el,
                _oldValue,
                _value;
            return {
              get:function(){return _value;},
              set:function styleSet(v)
              {
                _oldValue = _value;
                if(_set(_el,_key,v,_oldValue,undefined,this._stopChange))
                {
                  _value = v;
                  _proto.setProperty(_keyCP,v);
                }
                if(!this._stopChange)
                {
                  _update(_el,_key,v,_oldValue);
                }
                this._stopChange = undefined;
              },
              enumerable:true,
              configurable:true
            }
          }
docs: /* This overwites a style property