I have UP, DOWN, ENTER, CANCEL buttons, an 8*2 character LCD and a fairly big menu tree. Menu tree consists of three level deep branches with leaves of several kinds - choose a value from a list, enter integer value between some thresholds and a couple of specific ones. All menu does is basically setting a bunch of variables.
Does anyone have a suggestion for a pattern to use for such a system in an small micro embedded environment?