         var fn = new Function('__scope__',
           'return eval("with(__scope__){'+request.data.replace(/"/g, '\\"')+'}")');
         var self = this, scope = {callback: function() {
-          var data = [];
-          for (var i = 0; i < arguments.length; i++) {
-            data.push(arguments[i]);
-          }
-          self.notifyXul(request.id, data)
+          self.notifyXul(request.id, Array.prototype.slice.call(arguments));
         }};
         return fn.call(this, scope);
       };

    bridges.push {bridge, document}
    return bridge

    @document = document
    @callback = callback
    @requests = {}
    @messageid = 1
    @connect(@callback) if @callback

  connect: (fn) ->
    wesabe.dom.page.inject(@document, "(#{wesabe.dom.Bridge.bootstrap.toSource()})()")

  dispatch: (response) ->
    if response.id
      request = @requests[response.id]

      try
        request.callback?.call(response, response.data)
