ну вот, как пример, хочется в каком-нибудь диалоге вписать имя экрана (Cat) нажать на кнопку и сразу создадутся CatFragment, CatViewModel, CatInteractor, fragment_саt
А не потому ли краши начались, что фрагмент получал параметры через ваш собственный конструктор и когда андроид вызывал дефолтный, то все поля превращались в тыкву?
Фрагмент вроде же пересоздается через дефолтный конструктор с сохранением аргументов. Он ничего не знает про данные в конструкторе, которые были при прошлом создании.