Encapsulated the current and target tiles
Pathfinding guards against no valid paths
Calculates new path when hitting an obstacle