docs: function(value){
        var oldValue = this.value;
        var newValue = this.proxy ? this.proxy(value) : value;
        var changed = newValue !== oldValue;
  
        if (changed)
        {
          if (this.setNullOnEmitterDestroy)
          {
            if (oldValue instanceof Emitter)
              oldValue.removeHandler(VALUE_EMMITER_DESTROY_HANDLER, this);
            if (newValue instanceof Emitter)
              newValue.addHandler(VALUE_EMMITER_DESTROY_HANDLER, this);
          }
  
          this.value = newValue;
  
          if (!this.locked)
            this.emit_change(oldValue);
        }
  
        return changed;
      }