 			
 			hookCaptureHandler(methodName, parameters, query);
 
-			if ([null, Array, String, Number, int, uint].indexOf(returnType) < 0)
+			if ([null, Array, String, Number].indexOf(returnType) < 0)
 			{
 				castedQuery = query.then(WeaveDataServlet.castResult.bind(this, returnType));
+			}
+			else
+			{
+				castedQuery = query;
 			}
 
 			castedQuery.then(hookHandler.bind(this, methodName, parameters), alertFault.bind(this, methodName, parameters, query));

		{
			adminService = Weave.linkableChild(this, new AMF3Servlet(url + "/AdminService"));
			dataService = Weave.linkableChild(this, new AMF3Servlet(url + "/DataService"));
			resetQueue();
			
			//var info:* = DescribeType.getInfo(this, DescribeType.METHOD_FLAGS);
			/* ??? */
			for each (var item:String in JS.getPropertyNames(this, true))
			{
				var func:Function = this[item] as Function;
				if (func != null)
					propertyNameLookup.set(func, item);
			}
			
			initializeAdminService();
		}
		
		private function resetQueue():void

		private var queue:AsyncInvocationQueue;
		private var adminService:AMF3Servlet;
		private var dataService:AMF3Servlet;
		private var methodHooks:Object = {}; // methodName -> Array (of MethodHook)
        /*Bindable*/ public var initialized:Boolean = false;
		/*Bindable*/ public var migrationProgress:String = '';
