Issue #2: Added a base interface for code generators and implemented a mechanism for the insertion of back-end code generators