             // Create the single Animation that will interpolate all properties
             // simultaneously by interpolating the elements of the 
             // from/toVals arrays
-            animation = new Animation(fromVals, toVals, duration, this);
+            animation = new Animation(fromVals, toVals, duration);
         }
         else
         {
             // Only one property; don't bother with the arrays
-            animation = new Animation(fromValue, toValue, duration, this);
-        }
+            animation = new Animation(fromValue, toValue, duration);
+        }
+        animation.addEventListener(AnimationEvent.ANIMATION_UPDATE, updateHandler);
+        animation.addEventListener(AnimationEvent.ANIMATION_END, endHandler);
             
         if (_seekTime > 0)
             animation.seek(_seekTime);

 * Animate effect. Flex creates an instance of this class when
 * it plays a Animate effect; you do not create one yourself.
 */
public class AnimateInstance extends EffectInstance implements IAnimationTarget
{
    public var animation:Animation;
    

package flex.effects.effectClasses
{
import flex.effects.Animation;
import flex.effects.PropertyValuesHolder;
import flex.effects.easing.IEaser;
import flex.effects.interpolation.IInterpolator;
import flex.events.AnimationEvent;

import mx.core.UIComponent;
import mx.effects.EffectInstance;
