Update State Pattern