How to make a menu with submenus?

Such a nice task this menu stuff. I wanted to add that you can do a simplier way also...but u need two things perfectly figured out
Updating your lcd (includes clearing and selecting the right text according to where u are)
Detecting button push and act accordingly
(U can simplify by only going in one direction only )(press button as many times) get one of the many functions presented here for the button
Then represent states in paper with button behavior. If menus are few u dont need the elegant and clever linked list or pointing c++ (perhaps) althought in the end ull find imitating that behavior..