code: func (l *State) Notify(ch chan<- struct{}) {
  	l.Lock()
  	defer l.Unlock()
  	l.notifyHandlers[ch] = struct{}{}
  }
docs: // Notify will register a channel to receive messages when the local state
  // changes. Only service add/remove are supported for now. See notes on
  // l.notifyHandlers for more details.
  //
  // This will not block on channel send so ensure the channel has a buffer. Note
  // that any buffer size is generally fine since actual data is not sent over the
  // channel, so a dropped send due to a full buffer does not result in any loss
  // of data. The fact that a buffer already contains a notification means that
  // the receiver will still be notified that changes occurred.