  
  		if (instance == button)
     	{
-    		// TODO (jszeto) Change this to be mouseDown. Figure out how to not 
-    		// trigger systemManager_mouseDown.
-    		button.addEventListener(FlexEvent.BUTTON_DOWN, button_buttonDownHandler);
+    		if (dropDownController)
+    			dropDownController.button = button;
     		button.enabled = enabled;
     	}
+    	
+    	if (instance == dropDown && dropDownController)
+    		dropDownController.dropDown = dropDown;
     }
     
     /**

     */
    public function closeDropDown(commitData:Boolean):void
    {
    	//trace("DDL.closeDropDown isOpen",isOpen);
    	if (isOpen)
    	{
    		// TODO (jszeto) Add logic to check for commitData
    		/*if (commitData)
        		commitDropDownData();*/	
	
			_isOpen = false;
			button.mx_internal::keepDown = false;
	       	skin.currentState = getCurrentSkinState();
        	
        	dispatchEvent(new DropdownEvent(DropdownEvent.CLOSE));
        	
        	// TODO (jszeto) Change these to be marshall plan compliant
        	systemManager.removeEventListener(MouseEvent.MOUSE_DOWN, systemManager_mouseDownHandler);
        	systemManager.removeEventListener(Event.RESIZE, systemManager_resizeHandler);
    	}
    }
	
	/**
     *  @private

import spark.primitives.supportClasses.TextGraphicElement;
import spark.utils.LabelUtil;

import spark.components.supportClasses.DropDownController;

/**
 *  Dispatched when the dropDown is dismissed for any reason such when 
