 		 * <code>Request</code>, and that <code>Request</code> will be used for the test run.
 		 * 
 		 * @param args The arguments are provided for the test run.
-		 * @return a <code>Result</code> describing the details of the test run and the failed tests.
-		 */
-		public function run( ...args ):Result {
+		 * @return void.
+		 */
+		public function run( ...args ):void {
 			var foundClasses:Array = new Array();
 			//Unlike JUnit, missing classes is probably unlikely here, but lets preserve the metaphor
 			//just in case

			
			dealWithArgArray( args, foundClasses, missingClasses );

			var result:Result = runClasses.apply( this, foundClasses );
			
			for ( var i:int=0; i<missingClasses.length; i++ ) {
				result.failures.push( missingClasses[ i ] );
			}
			
			return result;
		}

		/**

		 * @param args The class arguments that are provided for the test run.
		 */
		public function runClasses( ...args ):void {
			//This is just an optimization for the case where we are passed an IRequest
			//Otherwise it goes through the trouble of re-wrapping it in a suite.
			//When that happens we end up with potential sorting and filtering issues
			if ( args && ( args.length == 1 ) && args[ 0 ] is IRequest ) {
				runRequest( args[ 0 ] );
			} else {
