         bounds.width = size.x;
         bounds.height = size.y;
     }
-    
-    /**
-     *  @private 
-     */ 
-    private function applyPopUpTransform(unscaledWidth:Number, unscaledHeight:Number):void
+
+    /**
+     *  @private
+     */
+    protected function applyPopUpTransform(unscaledWidth:Number, unscaledHeight:Number):void
     {
         if (!popUpIsDisplayed)
             return;

    
    //--------------------------------------------------------------------------
    //
    //  Private Methods
    //
    //-------------------------------------------------------------------------- 

    /**
     *  @private 
     */
    private function addOrRemovePopUp():void
    {
        if (!addedToStage)
            return;

        PopUpManager.removePopUp(popUp);
        popUpIsDisplayed = false;
    }

    /**
     *  @private
     */
    protected function determinePosition(placement:String, popUpWidth:Number, popUpHeight:Number,
                                           matrix:Matrix, registrationPoint:Point, bounds:Rectangle):void
    {
        switch(placement)
