Callbacks that write should write just one field, not lock a whole collection. Nested callbacks (Christmas trees) should only contain one write and the end of callback tree.
This way the only error that can occur is if the write fails -- everything else is a read.