UI Component и динамический massAction

При написании листинга столкнулся с проблемой: как создать massAction с тем же справочником, с которым выводится определенная колонка в гриде (в моем случае это был статус отзыва review_status)

Если указывать статически, то никаких проблем:

<massaction name="listing_massaction" component="Magento_Ui/js/grid/tree-massactions">
    <action name="change_status">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="type" xsi:type="string">status</item>
                <item name="label" xsi:type="string" translate="true">Change Status</item>
            </item>
        </argument>
        <argument name="actions" xsi:type="array">
             <item name="0" xsi:type="array">
                    <item name="type" xsi:type="string">pending</item>
                    <item name="label" xsi:type="string" translate="true">Pending</item>
                    <item name="url" xsi:type="url" path="local_comments/comment/massChangeStatus">
                        <param name="status">2</param>
                    </item>
             </item>
             <item name="1" xsi:type="array">
                    <item name="type" xsi:type="string">approved</item>
                    <item name="label" xsi:type="string" translate="true">Approved</item>
                    <item name="url" xsi:type="url" path="local_comments/comment/massChangeStatus">
                        <param name="status">1</param>
                    </item>
             </item>
             <item name="2" xsi:type="array">
                 <item name="type" xsi:type="string">not_approved</item>
                 <item name="label" xsi:type="string" translate="true">Not approved</item>
                 <item name="url" xsi:type="url" path="local_comments/comment/massChangeStatus">
                     <param name="status">3</param>
                 </item>
            </item>
        </argument>
    </action>
</massaction>

Здесь мы описали справочник статусов со значеняим из колонки
Но я хотел, чтобы статусы брало само именно из справочника из модуля Magento_Review
В этом случае сделал так:

<action name="change_status">
    <settings>
        <type>change_status</type>
        <label translate="true">Change Status</label>
        <actions class="Vendor\Module\Ui\Component\MassAction\Status\AssignOptions" />
    </settings>
</action>

Дальше нужно реализовать класс Vendor\Module\Ui\Component\MassAction\Status\AssignOptions и прописать его в di.xml

<type name="Vendor\Module\Ui\Component\MassAction\Status\AssignOptions">
    <arguments>
        <argument name="data" xsi:type="array">
            <item name="urlPath" xsi:type="string">route/controller/massChangeStatus</item>
            <item name="paramName" xsi:type="string">status</item> <!-- это поле добавит в url, его потом нужно обработать в контроллере -->
            <item name="confirm" xsi:type="array">
                <item name="title" xsi:type="string" translatable="true">Change Status</item>
                <item name="message" xsi:type="string" translatable="true">Are you sure to change the status of selected review(s)?</item>
            </item>
        </argument>
    </arguments>
</type>

И сам класс:

<?php

namespace Vendor\Module\Ui\Component\MassAction\Status;

use Magento\Framework\UrlInterface;
use Laminas\Stdlib\JsonSerializable;
use Magento\Review\Helper\Data as ReviewHelper;

class AssignOptions implements JsonSerializable
{
    /** @var array */
    private $options;
    /** @var array */
    private $data;
    /** @var UrlInterface */
    private $urlBuilder;
    /** @var string */
    private $urlPath;
    /** @var string */
    private $paramName;
    /** @var array */
    private $additionalData = [];
    /** @var ReviewHelper */
    private $reviewHelper;

    /**
     * @param UrlInterface $urlBuilder
     * @param ReviewHelper $reviewHelper
     * @param array $data
     */
    public function __construct(
        UrlInterface $urlBuilder,
        ReviewHelper $reviewHelper,
        array $data = []
    ) {
        $this->urlBuilder = $urlBuilder;
        $this->reviewHelper = $reviewHelper;
        $this->data = $data;
    }

    /**
     * Get action options
     *
     * @return array|mixed
     */
    public function jsonSerialize(): mixed
    {
        if ($this->options === null) {
            $options = $this->reviewHelper->getReviewStatusesOptionArray();
            $this->prepareData();
            foreach ($options as $optionCode) {
                $this->options[$optionCode['value']] = [
                    'type'  => 'status_' . $optionCode['value'],
                    'label' => $optionCode['label'],
                ];

                if ($this->urlPath && $this->paramName) {
                    $this->options[$optionCode['value']]['url'] = $this->urlBuilder->getUrl(
                        $this->urlPath,
                        [$this->paramName => $optionCode['value']]
                    );
                }

                $this->options[$optionCode['value']] = array_merge_recursive(
                    $this->options[$optionCode['value']],
                    $this->additionalData
                );
            }
            $this->options = array_values($this->options);
        }
        return $this->options;
    }

    /**
     * Prepare addition data for subactions
     *
     * @return void
     */
    protected function prepareData()
    {
        foreach ($this->data as $key => $value) {
            switch ($key) {
                case 'urlPath':
                    $this->urlPath = $value;
                    break;
                case 'paramName':
                    $this->paramName = $value;
                    break;
                default:
                    $this->additionalData[$key] = $value;
                    break;
            }
        }
    }
}

Здесь статусы отзывов получает хэлпером из модуля Magento_Review и подготоваливает для UI Conmponent

Дальшу нужно почистить кэш

php bin/magento cache:clean
php bin/magento cache:flush
php bin/magento setup:static-content:deploy -f

Должно получиться примерно так: