Both functions are triggered by events of value changes and do different things, thus we need two locks. And the idea of using `requestUpdateCFEntryDuringLock` and `requestUpdateCFItemsDuringLock` is the record any request of calling to the function during the lock phase, so that we know we need to call the function again to reflect the latest change.