Loader Doesn't Implement removeChild?

Hello,

I made a class that subclasses Loader and when I try to call the removeChild method it says that Loader doesn’t implement that particular function. However when I look in the docs it says that removeChild is an inherited method. I thought maybe I was providing the wrong parameter but I’m just passing a movieclip to the removeChild method so I really don’t know what could be wrong. Here’s the code (note that Preloader subclasses movieclip):


package
{
    import flash.display.Loader;
    import Preloader;
    import flash.display.LoaderInfo;
    import flash.events.Event;
    import flash.events.ProgressEvent;
    
    public class ImageLoader extends Loader
    {
        private var preloader:Preloader;  //preloader shown for image being loaded
        
        public function ImageLoader(w:int,h:int)
        {
            preloader=new Preloader(w,h);
            this.contentLoaderInfo.addEventListener(Event.INIT,addLoaderListeners);
        }
        
        private function addLoaderListeners(e:Event):void
        {
            e.target.addEventListener(Event.OPEN,showPreloader);
            e.target.addEventListener(ProgressEvent.PROGRESS,showProgress);
            e.target.addEventListener(Event.COMPLETE,showLoadResult);
        }
        
        private function showPreloader(e:Event):void
        {
            addChild(preloader);
        }
        
        private function showProgress(e:Event):void
        {
            preloader.update(e.target.bytesLoaded,e.target.bytesTotal);
        }
        
        private function showLoadResult(e:Event):void
        {
            removeChild(preloader);
        }
    }
}