A lot has changed since I introduced modules in WdCore, the ancestor of ICanBoogie. Their initial implementation was inspired by their counterpart in Drupal 5, at a time where you would manually install the components of your application. With the advent of Composer and modern application deployment process, the ability to disable modules at runtime has become more a burden than a feature.

Disabling modules at runtime implies having the knowledge of which modules to keep enabled, it also requires reconfiguring the application because their configuration and locale messages need to be included, and components that are already running need to be refreshed. Basically, it's a lot of work for a feature used seldom. Also, with the introduction of extensions, it's easier than ever to participate in the Autoconfig process, thus I decided to remove the ability to disable modules at run time; their configuration and locale messages are now added to the autoconfig, removing the need to reconfigure the application and refresh components.

Because the extension is smart enough to recognize modules in packages and automatically add config and locale folders, the change is invisible to current applications, but the modules-path autoconfig directive needs to be used to define the path to the application's custom modules, it's no longer resolved at runtime.

tl;dr

Modules can no longer be disabled at runtime but now they participate in the Autoconfig process, they are easier to handle and won't impact ICanBoogie bootstrap performance anymore.