Would we not want to also search through the `__mro__` for classes though?  For example, if someone creates an Ensemble subclass, we wouldn't want them to have to re-implement the whole Ensemble config