Hrm, I'm not sure `_destroySession` is quite right. I think it is intended to be called once per session... I don't think it is particularly idempotent.

One way it isn't idempotent is that the onClose callbacks can be called more than once. Eg:

```
  Meteor.server.onConnection(function (sessionHandle) {
    console.log("GOT SH", sessionHandle.id);
    sessionHandle.onClose(function () {
      console.log("CLOSE SH", sessionHandle.id);
    });
    var close = function () {
      sessionHandle.close();
    };
    Meteor.setTimeout(close, 1000);
    Meteor.setTimeout(close, 1500);
  });
```

results in `CLOSE SH` being printed twice for each session handle. The onClose function should fire exactly once.

There may also be other ways it isn't idempotent.