Instead, create an intermediate state with JUST the current changes, then sync later and bring things fully into sync. This means JMAP clients may see things out of order, but they're still going to be valid state transitions that bring you to the same point, and they mean that setFoos won't be as expensive.