Added example State Pattern