code: func NewManager(
  	summaryProvider stats.SummaryProvider,
  	config Config,
  	killPodFunc KillPodFunc,
  	mirrorPodFunc MirrorPodFunc,
  	imageGC ImageGC,
  	containerGC ContainerGC,
  	recorder record.EventRecorder,
  	nodeRef *v1.ObjectReference,
  	clock clock.Clock,
  ) (Manager, lifecycle.PodAdmitHandler) {
  	manager := &managerImpl{
  		clock:                        clock,
  		killPodFunc:                  killPodFunc,
  		mirrorPodFunc:                mirrorPodFunc,
  		imageGC:                      imageGC,
  		containerGC:                  containerGC,
  		config:                       config,
  		recorder:                     recorder,
  		summaryProvider:              summaryProvider,
  		nodeRef:                      nodeRef,
  		nodeConditionsLastObservedAt: nodeConditionsObservedAt{},
  		thresholdsFirstObservedAt:    thresholdsObservedAt{},
  		dedicatedImageFs:             nil,
  		thresholdNotifiers:           []ThresholdNotifier{},
  	}
  	return manager, manager
  }
docs: // NewManager returns a configured Manager and an associated admission handler to enforce eviction configuration.