DGI Module Inheritance Refactor

Fixes #340. Fixes #329