     private function handleNotification(msg:NotificationResponse):void {
         dispatchEvent(new NotificationEvent(msg.condition, msg.notifierPid));
     }
+}
+
+class NoticeHandler extends AbstractFEBEMessageHandler {
+
+    public function NoticeHandler(target:IEventDispatcher) {
+        super(target);
+        _handlerMethods[NoticeResponse] = handleNotice;
+        _handlerMethods[ErrorResponse] = handleNotice
+    }
+
+    private function handleNotice(msg:ResponseMessageBase):void {
+        dispatchEvent(new NoticeEvent(msg is ErrorResponse ? NoticeEvent.ERROR : NoticeEvent.NOTICE, msg.fields));
+    }
 }

            _connected = false;
            _connecting = false;
            _handlers = [];

            _broker.addEventListener(MessageEvent.RECEIVED, handleMessageReceived);
		}

    }

    public override function getCallback(msg:IBEMessage):Function {
    	// If there is no current statement, there is nothing to handle
    	return _stmt ? super.getCallback(msg) : null;
    }

