Our graphics are a bit confusing. Decals, models and particle emitters inherit from CModelAbstract (a RenderableOjbect), but also have per-entity data that seems to belong to CUnit.
This assigns them an explicit owner and shuffles things around a bit, while renaming CModelAbstract to CSceneObject since that's really what that is.
I haven't actually changed the selection shape override, though if we hide GetModel() from CUnit and have a SetTransform there it could be done, I think.