Hmm... creating the menu with events is very flexible by nature, there are many ways to do it.
One way I've done it in the past is just have one menu sprite object with all the menu options as animation frames, with an instance variable MenuItem.
When the menu is triggered, use a loop to place each menu selection, incrementing the position, animation frame, and MenuItem variable.
On clicked MenuSprite, compare MenuItem value and do whatever.
To close the menu, destroy all MenuSprite.
If you use a For loop, you can control the loopindex numbers for submenus.