Updated MVVM design