MVVM Restructured