The basic shadowing store implementations store the object states in
a separate file within the same directory in the object store, determined
by the object's type. However, as the number of file entries within the
directory increases, so does the search time for finding a specific file.
The HashStore implementation hashes object states over many different
sub-directories to attempt to keep the number of files in a given
directory low, thus improving performance as the number of object states
grows.