 	{
 		super();
 		super.allowMultipleSelection = false;
+		
+		if (_dropDownControllerClass)
+		{
+			_dropDownController = new _dropDownControllerClass();
+			initializeDropDownController();
+		}
 	}
 	
 	//--------------------------------------------------------------------------

     */
    override protected function partRemoved(partName:String, instance:Object):void
    {
    	if (instance == button)
    	{
    		button.removeEventListener(FlexEvent.BUTTON_DOWN, button_buttonDownHandler);
    	}
        
        super.partRemoved(partName, instance);
    }
    

    //
    //--------------------------------------------------------------------------
    
    /**
     *  @private
     *  TODO (jszeto) Add ASDoc comments
     */
    protected function dropDownController_openHandler(event:DropdownEvent):void
    {
    	// set skin state
    	skin.currentState = getCurrentSkinState();
    	dispatchEvent(event);
    }
    
    /**
     *  @private
     *  TODO (jszeto) Add ASDoc comments
     */
    protected function dropDownController_closeHandler(event:DropdownEvent):void
    {
    	skin.currentState = getCurrentSkinState();
    	
    	// TODO!! Add logic to handle commitData
    	//if (event.isDefaultPrevented())
    	
    	dispatchEvent(event);
    }

}
