Make cache chainable, enabling n-level cache system
Resolve bug on cache to ensure they are all exclusives
Implement two level cache system
Create new tests