Essentially just look at the menu as an alternate state for your Update and Draw features. I.e. If!InMenu - then draw the game, else draw the menu. Then you have your menu show up as you would any other gameobjects, and your updates/interactions are just focused on presenting the menu now.
If you're talking about a particular engine, like Torque, GameMaker or Unity, there maybe some options to purchase an interesting menu system, but you need to include what engine your talking about.