code: func NewCacheBasedManager(objectStore Store, getReferencedObjects func(*v1.Pod) sets.String) Manager {
  	return &cacheBasedManager{
  		objectStore:          objectStore,
  		getReferencedObjects: getReferencedObjects,
  		registeredPods:       make(map[objectKey]*v1.Pod),
  	}
  }
docs: // NewCacheBasedManager creates a manager that keeps a cache of all objects
  // necessary for registered pods.
  // It implements the following logic:
  // - whenever a pod is created or updated, the cached versions of all objects
  //   is referencing are invalidated
  // - every GetObject() call tries to fetch the value from local cache; if it is
  //   not there, invalidated or too old, we fetch it from apiserver and refresh the
  //   value in cache; otherwise it is just fetched from cache