| 1234567891011121314151617181920212223242526272829303132333435 | 
/** * Create a callback container * @return {Object} that wraps callbacks and returns a one-time id. */exports.create = function() {  var lastId = 1,      callbacks = {};  return Object.create({}, {    wrap: {      value: function(callback) {        var callbackId = lastId++;        callbacks[callbackId] = callback || function() {};        return callbackId;      }    },    processResponse: {      value: function(callbackId, args) {        var callback = callbacks[callbackId];        if (callback) {          callback.apply(null, args);        }        delete callbacks[callbackId];      }    },    removeResponseCallbackEntry: {      value: function(callbackId) {        delete callbacks[callbackId];      }    }  });};
 |