State, Template Method