def create_menu(self, name: str, path: str, icon_path: str = None) -> str:
        """
        Creates a menu with the given name and path.

        Used in the compile method.
        """
        key_path = join_keys(path, name)
        create_key(key_path)

        set_key_value(key_path, "MUIVerb", name)
        set_key_value(key_path, "subcommands", "")
        if icon_path is not None:
            set_key_value(key_path, 'Icon', icon_path)

        key_shell_path = join_keys(key_path, "shell")
        create_key(key_shell_path)

        return key_shell_path

        Creates a menu with the given name and path.

        Used in the compile method.
        
context_menu/windows_menus.py