RESOLVE #131 Implement widget content caching