This is now implemented, apart from the local caching bit.
My main objective here was solving that the menu had to be individually cached for different pages. That wasted DB space, but also made it slow to navigate the Admin Zone as it kept having to regenerate that huge menu if on an empty block cache.
My main objective here was solving that the menu had to be individually cached for different pages. That wasted DB space, but also made it slow to navigate the Admin Zone as it kept having to regenerate that huge menu if on an empty block cache.