The way we map @xsi:type to Python classes (and resolve classes for @xsi:type) is different between python-stix, python-cybox, and python-maec.
We could probably factor out that code into a common module and modify existing code to register and resolve extensions via that module.
The may be related to CybOXProject/python-cybox#274 and could require a good amount of rethinking what XML metadata we attach to Entity classes.
Look at stix/__init__.py and stix/bindings/__init__.py as examples of what I did in python-stix (it could be done a lot better).