Интеракторы с репозиторием так или иначе хотя бы намёк на структуру кода позволяют поддерживать. Даже если ответственность в итоге в корявом клине течёт в соседние слои, ПРИМЕРНО понятно, что где искать. А вот если приложение -- бессвязный набор классов, которые присасываются к общей шине -- в таком дерьме без достаточной дозы алкоголя на постоянной основе некоторое количество времени разобраться просто невозможно.
я, похоже, просто не копался в таком дерьме
у меня сейчас в предсказуемых (кажется) местах создаются и всегда можно через Find Usages найти, откуда они прилетают
в другом приложении чуть похуже, там полотно на 500 строк, которое проверяет на тип события с сокета и пытается их обработать - долго сидишь и втыкаешь, откуда же данные нужные получить
но я не берусь говорить о том, что это прям проблема подхода, а не незнания протокола