Enables testing of the API service, in the long run.
We only need to protect the integrity of the "finders" and "caches" slices, and for that we only need an RLock except while actually appending to them. The actual finders and caches are concurrency safe on their own.
Sources are given a priority, lower being better, when added to a CachingMux.