code: func (t *watcherTree) walkPath(key string, fn walkFn) {
  	t.Tree.WalkPath(key, func(prefix string, val interface{}) bool {
  		watchers := val.([]*BufferWatcher)
  		for _, w := range watchers {
  			fn(w)
  		}
  		return false
  	})
  }
docs: // walkPath walks the tree above the longest matching prefix
  // and calls fn callback for every buffer watcher