simple cache system for widgets