title: Breeze.js EntityManager not detecting changes
body: <p>My viewmodel is as follows, bound to my page using knockout.js. Episodes is an array of entities, each with a boolean property 'ListenedTo' bound to a checkbox on my page.</p>
  
  <pre><code>function episodesViewModel() {
  
      this.episodes = ko.observableArray();
  
      this.sync = function () {
          repository.populateEpisodes(this);
      }
  
      this.save = function () {
          repository.saveChanges();
      }
  
      //this.episodes.subscribe(function (episodes) {
      //    ko.utils.arrayForEach(episodes, function (episode) {
      //        episode.ListenedTo.subscribe(function () {
      //            window.repository.saveChanges();
      //        });
      //    });
      //});
  
      // perform an initial sync
      this.sync();   
  }
  </code></pre>
  
  <p>The repository object is just a wrapper for the underlying Breeze calls.</p>
  
  <p>If I bind save() to a button click, everything works as expected, breeze sees there is changes and calls back to the server. If I uncomment the lines creating a subscription to the ListenedTo change (and saving without the need to click a button) then weird things happen. </p>
  
  <p>After the page loads and is populated, the first click on the checkbox automatically calls breeze saveChanges() as expected. Even though the value in the viewmodel is as expected and matches the checkbox, breeze hasChanges() returns false and no server call is made. Click it again and hasChanges is now true and a server call is made!? It's like Breeze is lagging behind and doesn't register the change to the entities on the viewmodel.</p>
  
  <p>Any ideas?</p>