Add simple ViewModel based NavigationService

Not really ready to merge in its current state, you might want to merge with the existing ViewModel you already have.