$scope.watch explained