If this and _get_modules literally needs to be implemented in subclasses, could we throw NotImplementedError to prevent silently ignoring a big problem.