Implementing a navigation broker rather than letting individual pages decide what to push next

I would like to have a class, call it NavigationBroker, that decides what component should come after what component instead of spreading that responsibility across the individual components. Basically have one place where a sequence of .pushes and .setRoots are defined. The individual pages should call something like goToNextPage() on that NavigationBroker.

How would I access the NavController from my NavigationBroker?
How should the page components access the NavigationBroker?
Can I do such centralized navigation with Ionic 2?