Factor out the approval process from create.