У меня в голове идея засела такого рода: писать все классы независимыми, но чтобы они имели интерфейс получения / создания ивентов и могли на них асинхронно отвечать. Абстракция на высшем уровне, но насколько это будет удобно на практике я пока не проверял
Я так делал.
Один довольно большой и сложный проект так написан.
В общем то все хорошо, но есть нюансы - очень сильно жирная точка входа в приложение .. там где очень много подписок на соответствующие ивенты и форвардинг этих команд в соответствующие методы
Оно вроде норм, но дебажить и адекватно тестировать это почти нереально, тесты становятся сложные.. ты делаешь подписки, проверяешь были ли такие то события брошены... В общем в моем случае это была не очень идея.
Связанность это неплохо, это даже удобно.