Need Loader tips

Hi i’m trying to make a class that loads an image easily for me, and runs a callback function when its loaded.

I’m not sure if it would make sense to use a static function for this or create an instance of the class, I did it both ways. I’m wondering what ways better or if theres an even better way to do it.

LoaderPro:

package com.farzher {
	
	import flash.display.Loader;
	import flash.events.Event;
	import flash.net.URLRequest;
	
	public class LoaderPro {
		
		private var loader:Loader;
		private var callback:Function;
		private var data:Object;
		
		public function LoaderPro(src:String, callback:Function, data:Object = null) {
			this.callback = callback;
			if (data) {
				this.data = new Object();
				for (var i:String in data) {
					this.data* = data*;
				}
			}
			loader = new Loader();
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
			loader.load(new URLRequest(src));
		}
		
		private function onComplete(e:Event):void {
			if(data) {
				callback(loader, data);
			} else {
				callback(loader);
			}
			loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onComplete);
			loader = null;
		}
		
	}
}

StaticLoader:

package com.farzher {
	
	import flash.display.Loader;
	import flash.events.Event;
	import flash.net.URLRequest;
	
	public class StaticLoader {
		
		public static function load(src:String, callback:Function, data:Object = null) {
			var variables:Object;
			
			if (data) {
				variables = new Object();
				for (var i:String in data) {
					variables* = data*;
				}
			}
			
			var loader:Loader = new Loader();
			
			function onComplete():void {
				if(data) {
					callback(loader, data);
				} else {
					callback(loader);
				}
				loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onComplete);
			}
			
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
			
			loader.load(new URLRequest(src));
		}
		
	}
}

They both work but i’m not sure if LoaderPro could get garbage collected before it loads the image, doing something like this without referencing it in a variable.

new LoaderPro(xml.image[0].src, sup);

any tips welcome.