code: func registerCallback(cbArg *callbackArg) uintptr {
  	callbacksLock.Lock()
  	defer callbacksLock.Unlock()
  	cbArg.id = nextCallbackID
  	nextCallbackID++
  	if _, ok := callbacks[cbArg.id]; ok {
  		panic(fmt.Sprintf("Callback ID %d already in use", cbArg.id))
  	}
  	callbacks[cbArg.id] = cbArg
  	return cbArg.id
  }
docs: // registerCallback registers a callback and returns the allocated callback ID.