socket.io socket.set e socket.get - para que serve o argumento de callback?

Eu só quero anexar algumas variáveis ​​aos meus sockets, mas não entendo os métodos .get e .set. Ambos têm um terceiro argumento para um retorno de chamada. Isso pode ser omitido? Para que serve?! O callback em si tem argumentos?

Meu melhor palpite é que ele está lá para quando o socket.io não está usando o armazenamento de memória, mas está salvando este material em outro lugar e precisa de um retorno de chamada de verificação de erro.

<code>socket.on('set nickname', function (name) {
    socket.set('nickname', name, function (arguments) {
      doSomethingMysterious();
    });
</code>

Estou usando o socket.io 0.9.x

A função é definida em socket.js

<code>/**
 * Stores data for the client.
 *
 * @api public
 */

Socket.prototype.set = function (key, value, fn) {
  this.store.set(key, value, fn);
  return this;
};
</code>

questionAnswers(2)

yourAnswerToTheQuestion