code: func (r *Registry) applyHandlers(f func(o RegisterObject)) {
  	r.m.Lock()
  	handlers := make([]RegisterObject, 0, len(r.handlers))
  	for _, handler := range r.handlers {
  		handlers = append(handlers, handler)
  	}
  	r.m.Unlock()
  
  	for i := range handlers {
  		f(handlers[i])
  	}
  }
docs: // applyHandlers calls the given func for each r.handlers