Implement caching envelope object