[TASK] Implement caching framework