/// <summary>
        /// Core update routine.
        /// </summary>
        /// <param name="context">The context that holds information about the animation.</param>
        protected override void UpdateAnimationOverride(AnimationContext context)
        {
            context.EnsureDefaultTransforms();

            FrameworkElement target = context.Target as FrameworkElement;

            double startX = this.Initialize(target, this.StartX);
            double endX   = this.Initialize(target, this.EndX);

            context.MoveX(this.GetMoveArguments(startX, endX));

            base.UpdateAnimationOverride(context);
        }