add tests for cache storage and expired cache replacement #55
start refactoring preview and engine modules b/c logic not using cache #55