 	import flash.display.DisplayObjectContainer;
 	import flash.errors.IllegalOperationError;
 	import flash.events.Event;
+	import flash.events.TimerEvent;
 	import flash.utils.describeType;
 	import flash.utils.getDefinitionByName;
 	import flash.utils.setTimeout;
+	import flash.utils.Timer;
 
 	import asunit.errors.AssertionFailedError;
 	import asunit.util.ArrayIterator;

		protected var isComplete:Boolean;
		protected var result:TestListener;
		protected var testMethods:Array;

		private var asyncQueue:Array;
		private var currentMethod:String;

			setName(className.toString());
			resolveLayoutManager();
			asyncQueue = [];
			timer = new Timer(1, 1);
			timer.addEventListener(TimerEvent.TIMER, onTick);
		}
		
		// Not subscribing runBare() directly because that would require the Test interface to change.
		protected function onTick(e:TimerEvent):void {
			runBare();
		}

		private function resolveLayoutManager():void {
