I was thinking about writing an addon, but given players want choices, and not all players want everything, I am considering making the addon modular.

In RiftAddon.toc, there is no setting for modules, and the API has nothing yet for checking the toc, loading addons, iterating through them, or gaining any information about them. You can use the Embed and Dependencies to create the Core addon and modules A, B, and C dependent on Core.

What I am looking for is suggestions within Core that has some kind of RegisterModule() function that has the module name and what it does. Core contains the code for the main addon frame, including size, position, colour, and other generic information, but the Modules can add the text, bars, and other information that is unique to the module.

Core could then also have unique APIs like Core:RegisterModule(name, purpose), Core:ListModules() - iterates through and lists by name and/or purpose, etc.

The other issue, because there is no APIs dealing with addons thus far, is if a user doesn't install, or turns off any given module; how do I get Core to not fail just because there are no modules? Assume I won't write all the modules and therefore won't know all the module names and purposes. I can't code an if/then statement looking for a module I have no idea exists.