
	var rpcClient = Class.create(rpcBase, {
		initialize:function($super, URI, apiKey){
			$super(URI, apiKey);
			this.instID = 'rpcClient_' + parseInt(Math.random()*1000000);
		},
	
		execute : function(callBack){
			if (!callBack) callback = function(){}; // assign anonymous function if no callback is passed
			this.callBack = callBack;
			var xmlReq = "<requests>" + this.getRequestXML() + "</requests>";
			var qs = '&APIKEY=' +this.apiKey+'&req=' + encodeURIComponent(xmlReq);
			if (this.debug && window.console){
				console.log(this.URI+"?" + qs)
			} 
	        new Ajax.Request(this.URI, {
				    method: 		'post',
				    parameters:		qs,
				    asynchronous:	true,
		            onException:	this.handleErr.bind(this),
		            onFailure:		this.handleErr.bind(this),
		            onComplete: 	this.handleResults.bind(this),
		            myRPC:			this
            });
		},
		
		handleResults : function(req){
			this.responseDOM = req.responseXML;
			this.callBack(this.responseDOM, this);
		}
	})
