the new model spec is deep copied, model.__keys returns keys and a
spec.id (as we want to copy all of the existing parameters when using
helpers.deep_copy)