             // Create the single Animation that will interpolate all properties
             // simultaneously by interpolating the elements of the 
             // from/toVals arrays
-            animation.startValue = fromVals;
-            animation.endValue = toVals;
+            animation = new Animation(fromVals, toVals, duration, this);
         }
         else
         {
             // Only one property; don't bother with the arrays
-            animation.startValue = fromValue;
-            animation.endValue = toValue;
+            animation = new Animation(fromValue, toValue, duration, this);
         }
             
         if (_seekTime > 0)
             animation.seek(_seekTime);
         if (reverseAnimation)
             animation.reverse();
-            
+        animation.interpolator = interpolator;
+        animation.repeatCount = repeatCount;
+        animation.repeatDelay = repeatDelay;
+        animation.repeatBehavior = repeatBehavior;
+        animation.easer = easer;
+        animation.startDelay = startDelay;
+                    
         animation.play();
           
         // TODO (chaase): there may be a better way to organize the 

 */
public class AnimateInstance extends EffectInstance implements IAnimationTarget
{
    public var animation:Animation = new Animation();
    
    public function AnimateInstance(target:Object)
    {
        super(target);
        animation.addAnimationTarget(this);
    }

    //--------------------------------------------------------------------------

     * on fractional pixels.
     */
    protected var roundValues:Boolean;

    private var _easer:IEaser;    
    public function set easer(value:IEaser):void
    {
        _easer = value;
    }
    public function get easer():IEaser
    {
        return _easer;
    }
    
    private var _interpolator:IInterpolator;
    public function set interpolator(value:IInterpolator):void
    {
        _interpolator = value;
        
    }
    public function get interpolator():IInterpolator
    {
        return _interpolator;
    }
    
    private var _repeatBehavior:String;
    public function set repeatBehavior(value:String):void
    {
        _repeatBehavior = value;
    }
    public function get repeatBehavior():String
    {
        return _repeatBehavior;
    }
            
    //--------------------------------------------------------------------------
    //
    //  Overridden methods
