Кароче столкнулся с проблемой дублирующегося кода в машине состояний. Проблема в том что реализация одна и та же в состояниях, а вот условия переходов в другие состояния разные. Самый адекватный вариант это просто создать класс содержащий нужную мне реализацию и подтягивать её?
Похоже что тот паттерн что я взял не очень подходит под мои нужды. (источник
https://habr.com/ru/post/484176/)