code: func NewLayerDownloadManager(layerStores map[string]layer.Store, concurrencyLimit int, options ...func(*LayerDownloadManager)) *LayerDownloadManager {
  	manager := LayerDownloadManager{
  		layerStores:  layerStores,
  		tm:           NewTransferManager(concurrencyLimit),
  		waitDuration: time.Second,
  	}
  	for _, option := range options {
  		option(&manager)
  	}
  	return &manager
  }
docs: // NewLayerDownloadManager returns a new LayerDownloadManager.