Allow a model attribute to be another model. Recursively generate the hash for parent models.