     
     //MARK: - private
     
-    private func callback(code: Int, callbackId: String, data: [String: AnyObject]?) {
+    private func callback(code: Int, callbackId: String, data: AnyObject?) {
         let message = Message(method: JBX_METHOD_CALLBACK)
         message.code = code
         message.callbackId = callbackId

        return true
    }
    
    private func parseMessageQueue(data: NSData) -> [[String: AnyObject]] {
        do {
            if let messages = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments) as? [[String: AnyObject]] {
                return messages
            }
        } catch {
            

        if let messageString = self.webView?.stringByEvaluatingJavaScriptFromString(jsMethod),
            let messageData = messageString.dataUsingEncoding(NSUTF8StringEncoding) {
            log("dispatchMessageQueueFromJS:\(messageString)")
            let messages = parseMessageQueue(messageData)
            for message in messages {
                if message.method == JBX_METHOD_SEND {
                    handleMessageSentFromJS(message)
                } else if message.method == JBX_METHOD_CALLBACK {
                    handleMessageCallbackFromJS(message)
                }
            }
            return false
