anchor.diff:      _lastStatus = currentStatus;
     }
   
  -  void _updateCurveDirection() {
  -    if (status != _lastStatus) {
  -      if (_lastStatus == PerformanceStatus.dismissed || _lastStatus == PerformanceStatus.completed)
  -        _curveDirection = _direction;
  -    }
  -  }
  -
     Future _animateTo(double target) {
       Duration remainingDuration = duration * (target - _timeline.value).abs();
       _timeline.stop();
  
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;
  