Model-View-ViewModel Framework