Indeed, it appears easy enough at first but there are many edge cases. And you probably need support for different types of navigation, full screen overtakes, modal views, dialogs... perhaps a burger-menu thingie. Passing objects back and forth between screens