Yes, but I thought the logic is only executed once when the icc card is detected or ready. Before that, there should be no chance to set the related settings.
The reason I use `_settingsCache` is because if we call to `applySettings` of two icc cards at the same time, we will get `null` in both `onsuccess` functions. In the end the result becomes that only one VM number gets set. We expect the sequence of set the VMs like:  get current value 1 -> set icc1 VM -> get current value 2 -> set icc2 VM. However, the actual calling sequence is: get current value 1 -> get current value 2 -> set icc1 VM -> set icc2 VM.