The RouteDelegate defines application specific behaviors of how the router
learns about changes in the application state and how it responds to them.
It listens to the RouteInformation Parser and the app state and builds the Navigator with
the current list of pages (immutable object used to set navigator's history stack).