protected final function action_menu($elementname, $exported, $persistent) {

        // Just in case, we are doing funny stuff below.
        $elementname = clean_param($elementname, PARAM_ALPHA);

        // Actions.
        $actionmenu = new \action_menu();
        $actionmenu->set_menu_trigger(get_string('actions'));
        $actionmenu->set_owner_selector($elementname . '-' . $exported->id . '-actions');
        $actionmenu->set_alignment(\action_menu::TL, \action_menu::BL);

        $url = new \moodle_url('/admin/tool/dataprivacy/edit' . $elementname . '.php',
            ['id' => $exported->id]);
        $link = new \action_menu_link_secondary($url, new \pix_icon('t/edit',
            get_string('edit')), get_string('edit'));
        $actionmenu->add($link);

        if (!$persistent->is_used()) {
            $url = new \moodle_url('#');
            $attrs = ['data-id' => $exported->id, 'data-action' => 'delete' . $elementname, 'data-name' => $exported->name];
            $link = new \action_menu_link_secondary($url, new \pix_icon('t/delete',
                get_string('delete')), get_string('delete'), $attrs);
            $actionmenu->add($link);
        }

        return $actionmenu;
    }