Basic MVVM solution structure