Архитектурный выбор следует из того, что я сказал.

Если дополнительные функции, требующие скрытой реализации и инсталляции, нужны только самому модулю-серверу (то есть это его внутренняя кухня), то используют Hook.
Если дополнительные функции, требующие скрытой реализации и инсталляции, должны быть доступны модулям-клиентам, то используют Directory. В этом случае модуль-сервер экспортирует точку доступа VAR dir-: Directory, чего не наблюдается в случае с хуками.

Если я опять ответил не то, то сформулируйте, пожалуйста, вопрос точнее