I'm not sure popping here is necessary? Presumably the cache should just return the old value until the update completes?