Not the same as the new tray module
Saves us a lot of code duplication by generating module type-indexed map and factory functions from the module class names.