     public function shutdown (completely :Boolean = true) :void
     {
         try {
+            // remove the mask
+            if (_media != null && _media.mask != null) {
+                rawChildren.removeChild(_media.mask);
+                _media.mask = null;
+            }
+
             if (_media is Loader) {
                 var loader :Loader = (_media as Loader);
                 // remove any listeners

                }
                loader.unload();

                // remove from hierarchy
                if (loader.mask != null) {
                    rawChildren.removeChild(loader.mask);
                }
                rawChildren.removeChild(loader);

            } else if (_media is VideoDisplay) {

    }

    /**
     * Configure the mask for this object.
     */
    protected function configureMask (ww :int, hh :int) :void
    {
        var mask :Shape;
        if (_media.mask != null) {
            mask = (_media.mask as Shape);

        } else {
            mask = new Shape();
            // the mask must be added to the display list (which is wacky)
            rawChildren.addChild(mask);
            _media.mask = mask;
        }

        mask.graphics.clear();
        mask.graphics.beginFill(0xFFFFFF);
        mask.graphics.drawRect(0, 0, ww, hh);
        mask.graphics.endFill();
    }

    /**
     * Called during loading as we figure out how big the content we're
     * loading is.
     */
