code: func (m *Manager) becomeFollower() {
  	// The following components are gRPC services that are
  	// registered when creating the manager and will need
  	// to be re-registered if they are recreated.
  	// For simplicity, they are not nilled out.
  	m.dispatcher.Stop()
  	m.logbroker.Stop()
  	m.caserver.Stop()
  
  	if m.allocator != nil {
  		m.allocator.Stop()
  		m.allocator = nil
  	}
  
  	m.constraintEnforcer.Stop()
  	m.constraintEnforcer = nil
  
  	m.replicatedOrchestrator.Stop()
  	m.replicatedOrchestrator = nil
  
  	m.globalOrchestrator.Stop()
  	m.globalOrchestrator = nil
  
  	m.taskReaper.Stop()
  	m.taskReaper = nil
  
  	m.scheduler.Stop()
  	m.scheduler = nil
  
  	m.roleManager.Stop()
  	m.roleManager = nil
  
  	if m.keyManager != nil {
  		m.keyManager.Stop()
  		m.keyManager = nil
  	}
  }
docs: // becomeFollower shuts down the subsystems that are only run by the leader.