Ибо я скорее всего делал бы так в своих задачах при моих инструментах
Попробую как вы сказали переделать весь код, тк событий на самом деле много и на каждый идут подписки, их состояния меняются как попало, а нужно отслеживать состояния всех на текущий момент
А то это не самые приятные баги, когда передаёшь данные по нескольким функциям, которые что-то тебе возвращают, а на самом деле они тебе ещё и модель изменили