It's not a ton of memory, but optional modules should allocate into a struct.  This is ok for modules that are always builtin