I could be missing something, but now we dont have the check 
```ruby
commit_transaction unless error
```

is that ok?  is the check `if current_transaction == transaction` replacing the error one?