Extracted PathNode class, refactored PathFinder class