А у вас прям много стейтов у блока? По официальному гайду стейтов должно быть максимум 4, и из них 1 основной BlocSubjectSuccess
У меня стейта всего 3, много скорее ивентов. А как раз из-за того, что рекомендуют 1 основной - он содержит достаточно много разных полей, часть из которых нужно редачить, когда прилетает какой-то ивент. Так вот, когда прилетает ивент, нам каждый раз нужно убедиться в нужном ли мы стейте находимся и от этого уже идти дальше. Соответственно для каждого ивента есть проверка текущего состояния и логика для создания нового состояния.