I have used a different approach for similar issues at the request level that works very well for me.
Basically, I overrode SC.Request.didReceive and I look at the records that came in and did something like the following:
didReceive: function(request, response) {
var type = response.getPath('body.recordType');
if (!SC.none(type)) {
MyApp.dataEventsController.incrementProperty(type + '_updates');
}
}
Now, I observe this one property whenever I care about that type of record (say "Blog_updates" or "BlogComment_updates") and can check the status or many array then. This involves far less observers firing and thus, a much faster app.
I realize this doesn't apply to every situation, but in general, I have found that working at the lower level of the SC.Request object gives me far less headaches.
So, I guess this is all to say: could we do this at a lower level instead of using @each.status? When you start working with a lot of records, that means a lot of observers firing and could introduce some performance problems.