Reorder list of items from watch UI

I have a list of items shown as Menu2. I'd like to let users to reorder the menu items through watch UI. So instead of changing focus on up/down events, the focused item itself must move (similar to how I can reorder the apps in fenix watch settings).

So far I have found a way to move an item on "select" event (code follows). However, the API of Menu2 delegate does not allow to listen to up/down events.

class ReorderView extends WatchUi.Menu2 {
    // initialize and populate items
    
	function moveUp(aItem) {
        var index = findItemById(aItem.getId());

		if (index <= 0) {
			return;
		}
		var newIndex = index-1;
		swapItems(index, newIndex);
		setFocus(newIndex);
	}

	private function swapItems(aIndex1, aIndex2) {
		var item1 = getItem(aIndex1);
		var item2 = getItem(aIndex2);
		updateItem(item1, aIndex2);
		updateItem(item2, aIndex1);
	}
}

Tried implementing onKey in Menu2InputDelegate, but the function never gets called, of course. Also tried to use BehaviorDelegate for the Menu2, and it even compiles (??), but again, the onKey doesn't get called on key presses.

So how can I allow reordering of a list (with or without Menu2)?