code: func (m *cachingMux) Add(finder Finder, cacheTime, negCacheTime time.Duration) {
  	m.mut.Lock()
  	m.finders = append(m.finders, cachedFinder{finder, cacheTime, negCacheTime})
  	m.caches = append(m.caches, newCache())
  	m.mut.Unlock()
  
  	if service, ok := finder.(suture.Service); ok {
  		m.Supervisor.Add(service)
  	}
  }
docs: // Add registers a new Finder, with associated cache timeouts.