Extract cache updates and recalculate them until there's not been a change (fix for timing issues)