я просто чуть ли не с первой версии пользуюсь и сначала в библиотеке было четкое разделение, когда с FragmentManager работает сущность навигатора
сначала он даже фрагметы создавал по строковому ключу
потом пошли дальше в хорошую сторону и добавили типизацию, когда экран теперь не (String, Object), а какой-то класс, который внутри себя умеет правильно передавать аргументы в фрагмент и создавать его (тут уже что-то пошло не так, но еще плюс-минус ок)
потом начали появляться какие-то лямбды, FragmentManager уже есть в экране и т.д.