caching system now relies on attr change events to clear the appropriate cache attrs