Если я вас правильно понял, то вот ответ:
По поводу нейспейсов, есть 2 варианта. Если модуль ставите через composer, то в composer.json пишите
"autoload": {
"psr-4": {
ragnarek\\amazingmodule\\": ""
}
},
Т.е. это алиас до папки с модулем, которая лежит в папке с вашим vendor именем.
После установки composer'ом, все это дело запишется в extensions.php.
Соответственно, неймспейсы должны везде быть вида
use ragnarek\amazingmodule\controllers;
Если не через composer, то надо сразу же прописывать алиасы в extensions.php, посмотрите примеры других алиасов, в этом файле.
Таким образом к классам модуля можно всегда обратиться через неймспейсы
use ragnarek\amazingmodule;