_>Используйте язык DSL который будет компилироваться в ваш неведомый простой-примитивный язык.
DSL, мне кажется, тут не поможет.
DSL ведь можут работать с классами\объектами. Значит в нем "естественным" образом реализуется и слабое связывание и внедрение зависимостей.
Переложить это на процедурный язык, мне кажется, просто невозможно.