code: func (st *stateTracker) NewNick(n string) *Nick {
  	if n == "" {
  		logging.Warn("Tracker.NewNick(): Not tracking empty nick.")
  		return nil
  	}
  	st.mu.Lock()
  	defer st.mu.Unlock()
  	if _, ok := st.nicks[n]; ok {
  		logging.Warn("Tracker.NewNick(): %s already tracked.", n)
  		return nil
  	}
  	st.nicks[n] = newNick(n)
  	return st.nicks[n].Nick()
  }
docs: /******************************************************************************\
   * tracker methods to create/look up nicks/channels
  \******************************************************************************/
  // Creates a new nick, initialises it, and stores it so it
  // can be properly tracked for state management purposes.