Does `complete` capture the error case, too?  That is, if this save fails, will it get to your callback?