onChange(key, fn) {
    this._hooks[key] = this._hooks[key] || [];
    this._hooks[key].push(fn);
  }