         menu.showRoot = true;
         Menu.popUpMenu(menu, null, items);
         return menu;
+    }
+
+    public function CommandMenu ()
+    {
+        super();
+        verticalScrollPolicy = ScrollPolicy.OFF;
+        addEventListener(MenuEvent.ITEM_CLICK, itemClicked);
+    }
+
+    /**
+     * Configures the event dispatcher to be used when dispatching this menu's events. By default
+     * they will be dispatched on the stage.
+     */
+    public function setDispatcher (dispatcher :IEventDispatcher) :void
+    {
+        _dispatcher = dispatcher;
     }
 
     /**

 *   { label: "Other places", children: subMenuArray }
 * ];
 *
 * See "Defining menu structure and data" in the Flex manual for the
 * full list.
 */ 
public class CommandMenu extends ScrollableArrowMenu
{
    public function CommandMenu ()
    {
        super();
        verticalScrollPolicy = ScrollPolicy.OFF;

        addEventListener(MenuEvent.ITEM_CLICK, itemClicked);
    }

    /**
     * Factory method to create a command menu.
     *

    }

    /**
     * Just like our superclass's show(), except that when invoked with no args, causes the menu to
     * show at the current mouse location instead of the top-left corner of the application.
     */
    override public function show (xShow :Object = null, yShow :Object = null) :void
    {
