It's more or less what the decorator is doing. Any exception here should be rolled back, right? Almost every one of these lines results in a database write.