Composite approach for building view models (MVVM)