Began implementing an approach using more of an MVVM approach where ViewModels do not reference views.

This is an attempt to develop this using a more MVVM like pattern, hence it is being pushed in branch "MoreMVVMLikeApproach"