private void CacheValidPosition()
    {
        if (PathHandler.IsOutOfBounds(transform.position))
        {
            throw new System.InvalidOperationException($"Attempted to cache {transform.position}, but it is out of bounds!");
        }

        lastValidPosition = transform.position;
    }
 private void PollOutOfBounds()
 {
     if (PathHandler.IsOutOfBounds(transform.position))
     {
         FixOutOfBounds();
     }
     else
     {
         CacheValidPosition();
     }
 }