Issue 42 - Caching

Low level caching, fragment caching and refactoring