anchor.diff:  
     /// The current direction of the animation.
     AnimationDirection get direction;
  -
  -  /// The direction used to select the current curve.
  -  ///
  -  /// The curve direction is only reset when we hit the beginning or the end of
  -  /// the timeline to avoid discontinuities in the value of any variables this
  -  /// performance is used to animate.
  -  AnimationDirection get curveDirection;
   
     /// Whether this animation is stopped at the beginning.
     bool get isDismissed => status == PerformanceStatus.dismissed;
  
positive.code: 
    PerformanceStatus get status => parent.status;
    AnimationDirection get direction => parent.direction;
    AnimationDirection get curveDirection => parent.curveDirection;
  }
  
  abstract class Evaluatable<T> {
  
negative.code:   ACurve({ this.parent, this.curve, this.reverseCurve }) {
      assert(parent != null);
      assert(curve != null);
      parent.addStatusListener(_handleStatusChanged);
    }
  
    final Animation parent;
  