Move waypoint management to its own class