Я пытаюсь иметь angular смотреть $viewValue контроллера изнутри директивы.
скрипт: http://jsfiddle.net/dkrotts/TfTr5/5/
function foo($scope, $timeout) {
    $scope.bar = "Lorem ipsum";
    $timeout(function() {
        $scope.bar = "Dolor sit amet";
    }, 2000);
}
myApp.directive('myDirective', function() {
    return {
        restrict: 'A',
        require: '?ngModel',
        link: function (scope, element, attrs, controller) {
            scope.$watch(controller.$viewValue, function() {
                console.log("Changed to " + controller.$viewValue);
            });
        }
    } 
});
Как есть, функция $watch не захватывает изменение модели, сделанное через 2 секунды изнутри контроллера. Что мне не хватает?