ModelSchema
Defines the details for the Model (the table)
AttributeSchema
Constraints for the attributes
IdSchema
To define the standard id
ModelSchemaParsed
Parsing from yaml/json
Turns everything into a pointer, to handle unknown inputs