 	            maxConcurrentRequests = Math.min(serverRequests, maxConcurrentRequests);
 	        active = true;
 	        configureConnection(responseBody);
+	        responseTimer = new Timer(0.0, 1);
 	        responseTimer.addEventListener(TimerEvent.TIMER_COMPLETE, processResponse);
 	        trace(boshPollingInterval);
-	        pollTimer.delay = boshPollingInterval;
+	        pollTimer = new Timer(boshPollingInterval, 1);
+	        pollTimeoutTimer = new Timer(inactivity, 1);
 	        pollTimer.addEventListener(TimerEvent.TIMER_COMPLETE, pollServer);
 	        pollTimer.start();
 	        
-	        pollTimeoutTimer.delay = inactivity;
 	        pollTimeoutTimer.addEventListener(TimerEvent.TIMER_COMPLETE, function(evt:TimerEvent):void {
 				trace("Poll timed out, resuming");
 				pollServer(evt, true);

		private var failedRequests:Array = [];
		private var requestQueue:Array = [];
		private var responseQueue:Array = [];
		private const responseTimer:Timer = new Timer(0.0, 1);
		private var isDisconnecting:Boolean = false;
		private var boshPollingInterval:Number = 10000;
		private var sid:String;
		private var rid:Number;
		private var wait:int;
		private var inactivity:int;
		private var pollTimer:Timer = new Timer(1, 1);
		private var pollTimeoutTimer:Timer = new Timer(1, 1);
		
		private var auth:SASLAuth;
		private var authHandler:Function;

				trace("Polling at: " + lastPollTime.getMinutes() + ":" + lastPollTime.getSeconds());
			}
			
			if(pollTimer)
				pollTimer.stop();
			
			return true;
		}
