"""The generic module provides high-level functionality that is used in multiple places. The generic module is split into sub-modules. Each sub-module provides a specific set of functionality. Each sub-module should be 100% tested within the sub-module. """