After some thought, I've changed the structure of the module. I'm also splitting all of the functionality into multiple modules in a package, separated by function.