For multiple changes in quick succession, make sure the changeContext contains the most recent document and layer rather than sticking with the one from the first update
Do not store documentContext and layerContext in the changeContext as they may have been replaced by different objects. Rather, look them up anew.
Add some more logging. Specifically, log child/parent relationships as they seem to be tracked more reliably now, too.