type SourcesReadyFn … type SourcesReady … // NewSourcesReady returns a SourcesReady with the specified function. func NewSourcesReady(sourcesReadyFn SourcesReadyFn) SourcesReady { … } type sourcesImpl … // Add adds the specified source to the set of sources managed. func (s *sourcesImpl) AddSource(source string) { … } // AllReady returns true if each configured source is ready. func (s *sourcesImpl) AllReady() bool { … }