code: func (s *Scrubber) register(cb func(*Partial), path Path, callbacks map[string]Path) {
  	// do not register nil callbacks.
  	if cb == nil {
  		return
  	}
  	// subtract one to start counting from zero. This is not absolutely
  	// necessary, just cosmetics.
  	next := atomic.AddUint64(&s.seq, 1) - 1
  	seq := strconv.FormatUint(next, 10)
  
  	// save in scubber callbacks.
  	s.Lock()
  	s.callbacks[next] = cb
  	s.Unlock()
  
  	// Add to callback map to be sent to remote. Make a copy of path because it
  	// is reused in caller.
  	pathCopy := make(Path, len(path))
  	copy(pathCopy, path)
  	callbacks[seq] = pathCopy
  }
docs: // register is called when a function/method is found in arguments array. It
  // assigns an unique ID to the passed callback and stores it internally.