Move the logic of tolerating uniqueness errors to the model. (But it is still a smell)