code: function (value) {
  			var anim, barEl = this.get(BAR_EL);
  			if (value) {
  				if (value instanceof YAHOO.util.Anim) {
  					anim = value;
  				} else {
  					anim = new YAHOO.util.Anim(barEl);
  				}
  				anim.onTween.subscribe(this._animOnTween,this,true);
  				anim.onComplete.subscribe(this._animComplete,this,true);
  				
  				// Temporary solution until http://yuilibrary.com/projects/yui2/ticket/2528222 gets solved:
  				var oldSetAttribute = anim.setAttribute,
  					pb = this;
  				switch(this.get(DIRECTION)) {
  					case DIRECTION_BTT:
  						anim.setAttribute = function(attr , val , unit) {
  							val = Math.round(val);
  							oldSetAttribute.call(this,attr,val,unit);
  							Dom.setStyle(barEl,'top',(pb._barSpace - val) + 'px');
  						};
  						break;
  					case DIRECTION_RTL:
  						anim.setAttribute = function(attr , val , unit) {
  							val = Math.round(val);
  							oldSetAttribute.call(this,attr,val,unit);
  							Dom.setStyle(barEl,'left',(pb._barSpace - val) + 'px');
  						};
  						break;
  				}
  				// up to here
  
  			} else {
  				anim = this.get(ANIM);
  				if (anim) {
  					anim.onTween.unsubscribeAll();
  					anim.onComplete.unsubscribeAll();
  				}
  				anim = null;
  			}
  			this._barSizeFunction = this._barSizeFunctions[anim?1:0][this.get(DIRECTION)];
  			return anim;
  		}
docs: Called in response to a change in the <a href="#config_anim">anim</a> attribute.
  It creates and sets up or destroys the instance of the animation utility that will move the bar
  @method _animSetter
  @return  void
  @private