Странно, у меня в активити практически ничего кроме метода pushFragment(BaseFragment fragment).
Все фрагменты наследуются от BaseFragment, в котором есть метод getMainActivity.
И можно делать так из любого фрагмента getMainActivity().pushFragment(SomeFragment.newInstance())
Подход в целом как в iOS (почитайте про uinavigationcontroller)