Refactored widget cache