PageNavigator wires together History management, Route matching and
View rendering. It manages url addresses and bind them to views.
It updates url (replaceState, pushState) if the url params are changed in the view.
View is responsible for manipulating data received from server to be used for HTML.
Methods of View are called when PageNavigator matches the corresponding route
or when is navigated to different location.