Indeed as you say Resources in MODX are extended, and categorized, using a Template.
Templates in turn are defined using a name and a set of fields, which in turn are typed as String, Number, Date, List etc.
When a Resource applies a Template such as a Car, it inherits all the fields of this "category", extending it's set of default fields.
In essence the Resource changes it's public appearance saying
-"From now until I say when I can be expected to have a Registration Number, a Color, a Brand and a Price! ".
Mirage is just a manifestation of this idea