Есть набор одинаковых массивов. Каждый представляет собой ветку меню. В каждой ветке меню в любом пункте можно организовать переход к любой другой произвольной ветке.
Это можно было бы устранить, заставив движок кэшировать один предыдущий адрес и автоматически дорисовывать дополнительный пункт возврата, но я решил не ломать логику построения меню.