Models
Overview
Models are objects specialized for a specific action. They simply represent a data structure, so you don't have to rewrite the same logic over and over again to achieve a specific goal.
Models are specific to your application. The models can interoperate and may make use of the core libraries, although if that is needed, they need to specifically load the libraries and/or other models they need to use. That is easily achievable using a simple require_once statement.
All models must be placed into the includes/models/ directory by default, in order to ensure easy application decoupling, if needed.