Pathfind updated to Promise() and takes ID rather than object for improved tracking and less thread spawning