      */
     override protected function requestTimedOut():void
     {
+        if (handled)
+            return;
+            
         disconnect();
         statusHandler(createRequestTimeoutErrorMessage());
     }

     */
    override protected function statusHandler(msg:IMessage):void
    {
        disconnect();

        // even a fault is still an acknowledgement of a message sent so pass it on...

     */
    protected function channelDisconnectHandler(event:ChannelEvent):void
    {
        if (handled)
            return;
            
        disconnect();
        var errorMsg:ErrorMessage = new ErrorMessage();
        errorMsg.correlationId = message.messageId;
