The criterion list can be saved in parallel, there aren't conflicts or dependencies between them.

This could be implemented adding an unique step that would call async.parallel with the saves of every criterion, this step would be completed when the paralell call finishes.