If the reason for explicit transaction is so that an error in the callback can cause the operation to roll back, what's the goal?  Should an error in the callback always mean that the requested operation wasn't wanted?