code: func (s *state) Watch() (<-chan ConfigSnapshot, error) {
  	s.ctx, s.cancel = context.WithCancel(context.Background())
  
  	err := s.initWatches()
  	if err != nil {
  		s.cancel()
  		return nil, err
  	}
  
  	go s.run()
  
  	return s.snapCh, nil
  }
docs: // Watch initialized watches on all necessary cache data for the current proxy
  // registration state and returns a chan to observe updates to the
  // ConfigSnapshot that contains all necessary config state. The chan is closed
  // when the state is Closed.