             if( !isSupported ) return;
             validateExtensionContext();
 
+            mIdsAvailableCallback = null;
+            mNotificationCallbacks.length = 0;
+
             mContext.removeEventListener( StatusEvent.STATUS, onStatus );
 
             mContext.dispose();

            var callback:Function = null;
            switch( event.code ) {
                case TOKEN_RECEIVED:
                    triggerTokenCallbacks( event.level );
                    return;
                case NOTIFICATION_RECEIVED:
                    triggerNotificationCallbacks( event.level );

        private static const POST_NOTIFICATION_ERROR:String = "postNotificationError";

        /* Callbacks */
        private static var mIdsAvailableCallback:Function;
        private static var mNotificationCallbacks:Vector.<Function> = new <Function>[];
        private static var mCallbackMap:Dictionary;
        private static var mCallbackIdCounter:int;
