Solution: State Objects with Behavior — State Pattern | OneNoughtOne