change the way caching works to avoid widget inception