code: func (m *Manager) Close() error {
  	m.mu.Lock()
  	defer m.mu.Unlock()
  
  	if m.stateCh != nil {
  		close(m.stateCh)
  		m.stateCh = nil
  	}
  
  	// Close all current watchers first
  	for proxyID, watchers := range m.watchers {
  		for idx := range watchers {
  			m.closeWatchLocked(proxyID, idx)
  		}
  	}
  
  	// Then close all states
  	for proxyID, state := range m.proxies {
  		state.Close()
  		delete(m.proxies, proxyID)
  	}
  	return nil
  }
docs: // Close removes all state and stops all running goroutines.