 		this.manager = manager;
 	}
 	
-	public function asyncStart(keyType:String, keyStrings:Array/*/<string>/*/, outputKeys:Array/*/<weavejs.api.data.IQualifiedKey>/*/ = null):QKeyGetter
+	public function asyncStart(keyType:String, keyStrings:Array/*/<string>/*/, outputKeys:Array/*/<weavejs.api.data.IQualifiedKey>/*/ = null, asyncCallback:Function = null):QKeyGetter
 	{
 		if (!keyStrings)
 			keyStrings = [];
 		this.manager = manager;
+		this.asyncCallback = asyncCallback;
 		this.keyType = keyType;
 		this.keyStrings = keyStrings;
 		this.i = 0;

	private function asyncComplete():void
	{
		setResult(this.outputKeys);
	}
}

			var qkg:QKeyGetter = map_context_qkeyGetter.get(relevantContext);
			if (!qkg)
				map_context_qkeyGetter.set(relevantContext, qkg = new QKeyGetter(this, relevantContext));
			qkg.asyncStart(keyType, keyStrings, outputKeys, asyncCallback);
		}
		
		/**
