I have been kicking around the idea of defining a Factory interface for our python-stix|cybox|maec extension points that could potentially simplify the complex from_dict() and from_obj() methods we have now.
I have also been thinking that we could have a corresponding ExtensionField which gets a factory as it's type (or maybe a factory and default kwarg). VocabField in python-stix and python-cybox could potentially leverage this.