More transaction safety.

you don't really need to `return` the `done(err)` if it is the last thing in the function ;P