State Software Design Pattern demo