Implements the concept of a "class registry" where the implementation of a class is not directly referenced but instead looked up in a lookup table. This allows for the classes to be subclassed and then plugged into the lookup table, allowing for the rest of the code to reference the subclasses instead. The reason for this is that we know there are a number of remaining issues with the exporter, so this approach will allow for users to manually apply fixes to the generated classes as subclasses, which are then preserved across re-generations of the code. Ideally this should be a lot easier than making and re-applying one's changes every time the classes get re-generated.
Implements the concept of a "class registry" where the implementation of a class is not directly referenced but instead looked up in a lookup table. This allows for the classes to be subclassed and then plugged into the lookup table, allowing for the rest of the code to reference the subclasses instead. The reason for this is that we know there are a number of remaining issues with the exporter, so this approach will allow for users to manually apply fixes to the generated classes as subclasses, which are then preserved across re-generations of the code. Ideally this should be a lot easier than making and re-applying one's changes every time the classes get re-generated.