mvvm: Change viewModel architecture