Also, even if you choose to not make the above suggested change on line 698, you must wrap the three `#save!`s in a transaction if they represent a single logical change to the datastore.