 		{
 			dispatchEvent(new LoginEvent());
 		}
-
-		/**
-		 * @private
-		 */
-		protected function addIQCallbackToPending( id:String, callbackName:String, callbackScope:Object, callbackFunc:Function ):void
-		{
-			pendingIQs[id] = {methodName:callbackName, methodScope:callbackScope, func:callbackFunc};
+		
+		/**
+		 * 
+		 * @param	packet
+		 */
+		private function handleSessionError(packet:IQ):void
+		{
+			
+		}
+
+		/**
+		 * @private
+		 */
+		protected function addIQCallbackToPending( id:String, callbackName:String, callbackScope:Object, callbackFunc:Function, errorCallbackFunc:Function ):void
+		{
+			pendingIQs[id] = { methodName:callbackName, methodScope:callbackScope, func:callbackFunc, errorFunc:errorCallbackFunc };
 		}
 
 		/**


			bindIQ.callback = handleBindResponse;
			bindIQ.callbackScope = this;

			send(bindIQ);
		}

				if ( o is IQ )
				{
					var iq:IQ = o as IQ;
					if ((iq.callbackName != null && iq.callbackScope != null) || iq.callback != null || iq.errorCallback != null)
					{
						addIQCallbackToPending( iq.id, iq.callbackName, iq.callbackScope, iq.callback, iq.errorCallback );
					}
				}
				var root:XMLNode = o.getNode().parentNode;
