     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);
		}

            _msgDispatcher = dispatcher;
            var authHandler:IFEBEMessageHandler = new AuthenticationHandler(dispatcher);
            authHandler.addEventListener(AuthenticationHandler.AUTHENTICATED, handleAuth);
            _handlers = [ authHandler ];
            _broker.send(new StartupMessage(_params));
        }

        private function handleAuth(e:Event):void {
        	_connecting = false;
        	_connected = true;
        	_queryHandler = new QueryMessageHandler(_msgDispatcher);
        	_rfqHandler = new ReadyForQueryHandler(_msgDispatcher);
        	var noticeHandler:NoticeHandler = new NoticeHandler(_msgDispatcher);
        	var notifHandler:NotificationHandler = new NotificationHandler(_msgDispatcher);
        	_handlers = [ _queryHandler, noticeHandler, notifHandler, _rfqHandler  ];
        }
		

