private Waypoint NeighbourAt(Waypoint waypoint, Vector2 direction)
 {
     return waypoint.NeighbourAt(
         direction, DIRECTION_SEEK_ANGLE_LIMIT, x => x.Accepts(this.gameObject));
 }