I think I could make if none of the ccaches exist return the first one work. I'm not wild about #2 for a number of reasons. I don't entirely know how to expand #2 to MSLSA: and keyring and API caches for example.