А где он хранит состояния?
там все крайне просто просто создаешь класс с состояниями(даже толклм не надо их знать, чтоб его создать), прописываешь в классе названия всех состояний, в хендлерах просто прописываешь какой стейт и текст нужен, чтоб он ловил, ну и переход и закрытие состояний.тоже простое, очень удобно