The system is going to support skins natively. Basically, the objdef file defines what's making up an object - what model, what material (skin), what physics. You can simply clone the file and edit it to point to a different material (or a different physics config ...)
Additionally, to simplify the installation of mods and to make it cleaner, a mod will be contained in its own folder together with objdef and all the textures. So for example, there will be the following directory structure:
[packages]
+-- [outerra]
+-- [c172]
| # original textures, models and physics config here
| # as well as the default objdefs, for example
+-- c172.objdef
+-- c172R.objdef
+-- [skin1]
| # modified textures
| # new objdef file
+-- skin1.objdef
To make a custom skin you would create a subfolder under outerra/c172, placing all textures and a new objdef file into it.
The intermediate outerra folder is actually the user name of the creator of the model. If ddenn made his own model of c172, it would be under packages/ddenn/c172. That way every model has its unique path that will not conflict with any other. For distribution, your skins of someone else's model should be under your directory as well, referencing the original model. Current Denis' skins would be laid out like this:
[packages]
+-- [outerra]
| +-- [c172]
| | # original textures, models and physics config here
| | # as well as the default objdefs, for example
| +-- c172.objdef
| +-- c172R.objdef
|
+-- [ddenn]
+-- [c172@outerra]
+-- [skin1]
| | # modified textures
| | # new objdef file referring outerra/c172
|
+-- [skin2]
| # modified textures
| # new objdef file referring outerra/c172