документация. Паттерн "Модель состояния"