Cache now maintains hit and miss statistics
Caches are now retained between iterations
Caches are now maintained in a hash