This commit:
- Adds new class CarState to handle some of the heuristic logic (may be temporal)
- Implements a greedy heuristic function to choose the best state
- updates test example