anchor.diff:    State _context;
   
     num _accelerationDirection = 0;
  +
  +  Function _checker;
   
     static const int _NO_ACCELERATION_DIRECTION = 0;
   
  
positive.code:     _checkEnableGravity();
  
      _checkSpeedLimits();
  
      speedX += _accelerationDirection * accelerationX * time;
      speedY += _accelerationDirection * accelerationY * time;
  
negative.code:     y = y + directionSystem.mainDirection.y * distance;
    }
  
    //TODO: is this implementation good enough?
    void moveTo(int x, int y) {
      directionSystem.setMainDirectionFromTo(this.x.round(), this.y.round(), x, y);
  
      _checker = (){
        if((this.x - x).abs() <= 5 && (this.y - y).abs() <= 5){
          stop();
          _checker = null;
        }
      };
    }
  
    /**
  