Посмотрел, как работает mustache. Выходит, там надо будет передавать в render те же аргументы. В описанном случае, их количество уменьшится на один.
В целом, подход лучше, чем есть. Здесь идея передачи кучи аргументов оправдывается?
зачем передавать туда кучу аргументов? передавай только данные, сделай 2/3/сколько_нужно шаблонов в которых будет html которые сами знают какой тег отрисовывать и какие классы там указаны. и просто в зависимости от места передавай данные (только ссылки и тайтлы меню) в нужный шаблон и он тебе отрисует всё как надо