code: func NewUUID() types.UID {
  	uuidLock.Lock()
  	result := uuid.NewUUID()
  	go func() {
  		time.Sleep(200 * time.Nanosecond)
  		uuidLock.Unlock()
  	}()
  	return types.UID(result.String())
  }
docs: /**
   * The UUID package is naive and can generate identical UUIDs if the time interval is quick enough.
   * Block subsequent UUIDs for 200 Nanoseconds, the UUID uses 100 ns increments, we block for 200 to be safe
   * Blocks in a go routine, so that the caller doesn't have to wait.
   * TODO: save old unused UUIDs so that no one has to block.
   */