This introduces a refactor to use libgfi rather than hard-coding all of the functionality inside of the module, and some basic cleanup in the project's structure. There may be additional dead code that can be removed.
@JasonEtco @maddhruv it would be awesome to get your eyes on this in the next few days – rather massive change that AFAIK checks the final boxes for shipping 1.0.
This introduces a refactor to use libgfi rather than hard-coding all of the functionality inside of the module, and some basic cleanup in the project's structure. There may be additional dead code that can be removed.