type ProgressReporterManager … func NewProgressReporterManager() *ProgressReporterManager { … } func (prm *ProgressReporterManager) AttachProgressReporter(reporter func() string) func() { … } func (prm *ProgressReporterManager) QueryProgressReporters(ctx context.Context, failer *Failer) []string { … }