The Model interface defines required methods for models to work.
At the moment, this only restricts the signature for the constructor to only allow attributes as a parameter, in order to allow several static calls to work within the model architecture, but still allow models to extend the constructor if they wish.
__construct (array $attributes =
Create a new model instance.
A list of attributes to populate in the model.