5.5.5 Why we Use the State Pattern