- Caching the menus on the GROUP object.
- When a new menu is created, it will chech the cache
- When the menu is already in the cache, nothing will be done and the
self is returned.
- When the menu is not in the cache, the menu is created and the cache
is updated.
- The removal of menus now work flawlessly, because the cache is now
used to traverse the path of submenus during removal.