code: func runCallbacks(xu *xgbutil.XUtil, event interface{}, evtype int,
  	win xproto.Window) {
  
  	// The callback slice for a particular (event type, window) tuple uses
  	// copy on write. So just take a pointer to whatever is there and use that.
  	// We can be sure that the slice won't change from underneathe us.
  	xu.CallbacksLck.RLock()
  	cbs := xu.Callbacks[evtype][win]
  	xu.CallbacksLck.RUnlock()
  
  	for _, cb := range cbs {
  		cb.Run(xu, event)
  	}
  }
docs: // runCallbacks executes every callback corresponding to a
  // particular event/window tuple.