Добавил ссылку на реализацию паттерна Состояние