code: func (st *stateTracker) NewChannel(c string) *Channel {
  	if c == "" {
  		logging.Warn("Tracker.NewChannel(): Not tracking empty channel.")
  		return nil
  	}
  	st.mu.Lock()
  	defer st.mu.Unlock()
  	if _, ok := st.chans[c]; ok {
  		logging.Warn("Tracker.NewChannel(): %s already tracked.", c)
  		return nil
  	}
  	st.chans[c] = newChannel(c)
  	return st.chans[c].Channel()
  }
docs: // Creates a new Channel, initialises it, and stores it so it
  // can be properly tracked for state management purposes.