def METHOD_NAME(caller):
    menu = caller.ndb._menutree
    text = """
    This is an example menu.
    If you enter anything except the valid options, your input will be
    recorded and you will be brought to a menu entry showing your
    input.
    Select options or use 'quit' to exit the menu.
    The menu was initialized with two variables: %s and %s.
    """ % (
        menu.testval,
        menu.testval2,
    )
    options = (
        {
            "key": ("|yS|net", "s"),
            "desc": "Set an attribute on yourself.",
            "exec": lambda caller: caller.attributes.add("menuattrtest", "Test value"),
            "goto": "test_set_node",
        },
        {
            "key": ("|yL|nook", "l"),
            "desc": "Look and see a custom message.",
            "goto": "test_look_node",
        },
        {"key": ("|yV|niew", "v"), "desc": "View your own name", "goto": "test_view_node"},
        {
            "key": ("|yD|nynamic", "d"),
            "desc": "Dynamic node",
            "goto": (_generate_goto, {"name": "test_dynamic_node"}),
        },
        {
            "key": ("|yQ|nuit", "quit", "q", "Q"),
            "desc": "Quit this menu example.",
            "goto": "test_end_node",
        },
        {"key": "_default", "goto": "test_displayinput_node"},
    )
    return text, options