Nested Submodels

You could implement an extend_model function, which would update the parent model attributes with the new variables.

These are the things you need to populate:

You can add new items to treedicts (just a subclass of dict) and append new values to treelists (just a subclass of lists)