title: Unable to get $watch to listen to object property changes
body: <p>I have set of user names within an array as different objects and I'm trying to listen to change in the names in a directive. So when I type anything in the text the model changes so why doesn't the $watch fire on name change ?</p>
  
  <p>JS</p>
  
  <pre><code>var app = angular.module('plunker', []);
  app.directive('mydirective', function() {
      return {
        link : function(scope, elem, attr, ctrl) {
        scope.$watch(scope.obj.users , function(newValue) {
            console.log(scope.obj)
        },true)
      } 
      } 
  });
  app.controller('MainCtrl', function($scope) {
    $scope.name = 'World';
    $scope.obj = {
  
        "users" : [
           {
              'name' : 'user1'
           },
           {
              'name' : 'user2'
           } 
        ]
  
    }
  });
  </code></pre>
  
  <p>HTML</p>
  
  <pre><code>&lt;div ng-repeat="user in obj.users"&gt;
        &lt;input mydirective type="text" ng-model="user.name"/&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>Plnk - <a href="http://plnkr.co/edit/PKp57zhoa7kvUthqB5Zn?p=preview" rel="nofollow">http://plnkr.co/edit/PKp57zhoa7kvUthqB5Zn?p=preview</a></p>