A class that caches values that have been loaded so we don't have to repeat
expensive operations like:
1) reading a remote URL with authorization (e.g. using RemoteURL.java)
2) reading the contents of a file into memory
3) extracting a sub object from a json/yaml tree
4) de-serializing json strings into objects