public IMovement CreateMovement()
        {
            AutoMoveTowardsTarget mover = new AutoMoveTowardsTarget(_travellingData, PointableElement);

            mover.WhenAborted += HandleAborted;
            return(mover);
        }
 private void LateUpdate()
 {
     for (int i = _movers.Count - 1; i >= 0; i--)
     {
         AutoMoveTowardsTarget mover = _movers[i];
         if (mover.Aborting)
         {
             mover.Tick();
             if (mover.Stopped)
             {
                 _movers.Remove(mover);
             }
         }
     }
 }
 private void HandleAborted(AutoMoveTowardsTarget mover)
 {
     mover.WhenAborted -= HandleAborted;
     _movers.Add(mover);
 }