Я не знаю точно, что вы подразумеваете под "реагирует только на пользовательские события". Вы также можете иметь фрагменты без головы , которые не имеют пользовательского интерфейса.
Вы можете использовать фрагменты для вашего намерения. Вы можете общаться между фрагментами через вашу деятельность (которая содержит фрагменты).
Говоря о чистом коде, может быть, вы хотите взглянуть на компоненты архитектуры и MVVM