[Evgeny, Daniel] transactions: callbacks for undo/redo