The KeyLibrary exists in order to provide two types that are used by the Cache class and by the Directory class: the "Key" class and the "Data" class.