docs: function() {
      const changed_keys = store._changed_keys
      if (changed_keys.length === 0) {
        console.error('no keys were changed, yet we are trying to publish a store change')
        return
      }
  
      // make sure _changed_keys is reset before executing callbacks
      // (if callbacks modify state, the list of keys the callback changed would be wiped out)
      store._changed_keys = []
      store._clearDebounceTimeout()
      store._callback_objs.forEach(obj => obj.callback(changed_keys))
    }