MVVM pattern with unit tests implemented