Shortest path logic moved to AOShortestPath class