title: Subscribe arrayChange on knockout computed accessor
body: <p>I have a case where I need to listen for array changes of a computed that is simply returning a filtered value of an observable.
  However, I do need to have the full list of changes, as <strong>.subscribe(function(changes){},null,'arrayChange')</strong> would do on an <strong>observableArray</strong>.</p>
  
  <p>What I understand is that <strong>arrayChange</strong> does not work in the case of a computed value, because it probably remakes a new array and so there's no specific change to list.</p>
  
  <p>See <a href="http://jsfiddle.net/darknessm0404/A6D8u/1/" rel="nofollow">http://jsfiddle.net/darknessm0404/A6D8u/1/</a> for a complete example.</p>
  
  <pre><code>// The following does not work, but I'd like it
  computedTest.subscribe(function(changesList){
      console.log('COMPUTED subscription : arrayChange');
  }, null, 'arrayChange');
  </code></pre>
  
  <p>The only way I seem to achieve what I want is to create another observable array which would have push/delete depending on the changes, so I would be able to get the 'arrayChange' method work.</p>
  
  <p>Full example of my idea:</p>
  
  <pre><code>this.events.listFiltered = ko.observableArray().extend({ rateLimit: 0 });
  this.events.listFiltered_Worker = ko.computed(function () {
      var listFiltered = me.events.listFiltered();
  
      ko.utils.arrayForEach(me.events.list(), function (item) {
              index = listFiltered.indexOf(item);
          if (FILTERING_CASE_HERE) {
              if (index &lt; 0) {
                  listFiltered.push(item);
              }
          } else if (index &gt;= 0) { // Delete
              listFiltered.splice(index, 1);
          }
      });
      return ko.utils.arrayFilter(me.events.list(), function (item) {
          return !(item.end().isBefore(filterStart) || item.start().isAfter(filterEnd));
      });
      return __rd++;
  }).extend({ rateLimit: 0 });
  this.events.listFiltered.subscribe(function () {
      debug('inside subscribe');
      debugger;
  }, null, 'arrayChange');
  </code></pre>
  
  <p>However I was wondering if there's a easier solution to this problem?</p>