I've been using a pattern in my node.js modules that seems so obvious to me that I assume there must be something wrong with it or I would see more people doing it. To keep private variables that are global to the module, I simply attach them as properties on the module object. Like so: 

```
module.exports = {

  init: function() {
    module.someClient = initializeSomethingHere()
  },

  someMethod: function(done) {
    module.someClient.doSomething(done)
  }
}

```

This seems preferable to me than something like this...

```
var someClient;

module.exports = {
  init: function() {
    someClient = initializeSomethingHere()
  },

  someMethod: function(done) {
    someClient.doSomething(done)
  }
}

```

...because in the second example you need to go searching for `var someClient` at the top of the file to make sure that the omission of the `var` keyword is intentional within the `init` method. I've never seen this pattern used elsewhere though, so I wonder if I'm missing something that makes it less than ideal.

Thoughts?