A viewmodel is an object that provides specific data and methods to maintain specific views. Basically, it
is a $scope object which lives within your AngularJS app's controller. A viewmodel is associated with a HTML
element with the ng-model and ng-bind directives.