Task12: State Pattern