Скажем, стейт-классы, в которых описываются индивидуальные для стейта методы, своего рода точки входа. Например, MainMenuState
, у которого есть методы
handle_cabinet_button
handle_support_button
...
И т. д., то есть все кнопки этого состояния
Ну и авторегистрацию какую-то. А для отдельных ветвей запросов еще и cancel/back/skip и т. п. (как у тебя).
И я не зря сказал точки входа, это именно они. Уже потом, отбросив из мыслей регистрацию можно внедрять рабочую логику, когда сценарный скелет построен, как маршрут