Problem: Behavior Depends on State - State Pattern | OneNoughtOne