we already had abort with both :success and :failure (both were introduced along with abort).   The difference now is that :success does not rollback any database changes that have happened to that point.

with_transaction_returning_status is used by ActiveRecord's transaction handling.  We override it here and add the "abortable" call.