Adds the ViewModel. Renames the namespace

Also adds abstract BaseViewModel which will make my actual viewmodel
cleaner.