Updated event handling to be contained within the controller and not the viewmodel