Solution structure for a MVVM pattern