use built in hashmap for composite cache
Incorporate inventory to keep track of records that are added and also make
verify checks more efficient.
Use soft reference to keep revisions in recently synced blocks in memory
until there is memory pressure