Updated ViewModel usage
Fixed merge conflict
ViewModels now require a reference to the current controller, to allow the ViewModel to access application objects