Just reiterating the above comment.  I'm still under the impression that all the database rows should be created as part of the admin User.create and then save calls.  Having an explicit "cleanup" method to put missing pieces in place masks bugs in the admin creation workflow and reduces maintainability because there are two paths trying to do the same thing.