Refactors location view to be a NavigationManager, adds sub-view classes