Сделай папку Modules и пусть твой движок при запуске каждый раз лезет в эту папку и загружает весь код тех модулей которые туда помещены, далее движок лезет в базу в таблицу Modules в Mysql где есть записи обо всех Экземплярах созданных модулей, в этих записях указываются все настройки всех созданных модулей, то есть у тебя код модулей и их Экземпляры существуют отдельно. Далее твой движок при рендере страниц вставляет нужные модули исходя из настроек Экземпляров модулей, используя код модулей из папки Modules.
Так устроена система модулей в Джумле например и это очень удобно.