ViewModelAware implementation. Makes unit testing controllers easier, as ViewModels can be mocked. Allows only Controllers and ViewModels to be aware of other ViewModels