Тогда в ответ зацени либу, которая отлично справляется с поставленной задачей и приносит большую пользу при разработке. И уже тестируется в крупном проекте и взята за основу в новом проекте))
во-первых, я не люблю многомодульную архитектуру, если мы говорим, что модуль - это фича. Я предпочитаю зазграничивать модулями слои. Во-вторых, твой проект либо слишком сложный, либо херово описан. Груда текста ридми и ни одного примера кода. Ты говоришь, что что-то делается, например: "Создал команду на открытие модуля. Скоуп откроется и закроется сам. Фрагмент создастся сам. Зависимости заинжектятся сами.". А как это все в коде выглядит, я сам должен представить? Ну с таким успехом я мог бы всю библиотеку сам написать на основании ридми.
А навигация, я считаю, должна выполнятся с помощью компонентной логики. Есть компонент, Navigator, который собсна создает фрагменты и передает им данные. Этот компонент разновидности renderless, то есть он имеет нулевые размеры, но вставляется в разметку, как обычный компонент. В этот компонент инверсивно привязывается destination - класс с данными, на основании которых компонент будет понимать, какой фрагмент создавать. Инверсивность нужна, чтобы после осуществления навигации затирать destination