fri.js
function updateSubscribers() {
  lastUpdate = Date.now();
  updateRequested = false;
  var accessMap = new immutable.Map();
  for(var path of dirtyState) {
    accessMap = setIn(accessMap, path, true);
  }
  dirtyState.clear();

  for(var subscriber of subscribers.values()) {
    var needsUpdate = false;
    for(path of subscriber.accessed) {
      if(accessMap.getIn(path)) {
        needsUpdate = true;
        break;
      }
    }
    if(needsUpdate) {
      updateSubscriber(subscriber);
    }
  }
}
function updateSubscribers() {
  lastUpdate = Date.now();
  updateRequested = false;
  var accessMap = new immutable.Map();
  for(var path of dirtyState) {
    accessMap = setIn(accessMap, path, true);
  }
  dirtyState.clear();

  for(var subscriber of subscribers.values()) {
    var needsUpdate = false;
    for(path of subscriber.accessed) {
      if(accessMap.getIn(path)) {
        needsUpdate = true;
        break;
      }
    }
    if(needsUpdate) {
      updateSubscriber(subscriber);
    }
  }
}
### updateSubscribers