title: how to get new instance of module
body: <p>I hvae the following module in NodeJS:</p>
  
  <p>File: collection_item.js</p>
  
  <pre><code>var items = [];
  var exports = module.exports;
  exports = module.exports = function() {
  };
  
  exports.prototype.addItem = function(item) {
      items.push(item);
  };
  
  exports.prototype.deleteItem = function(index) {
      items.splice(index, 1);
  };
  </code></pre>
  
  <p>I also have a test with this code:</p>
  
  <pre><code>var assert = require("assert");
  var itemCollection = require('../../item_collection.js');
  
  describe('Item collection', function(){
      describe('#addItem', function(){
          it('should add object to the collection', function(){
              var collection = new itemCollection();
  
              collection.addItem({
                  test: 'aaa'
              });
  
              assert.equal(collection.count(), 1); // Success
          });
      });
  
      describe('#deleteItem', function(){
          it('should delete the given item  from the collection', function(){
              var collection = new itemCollection();
  
              var item1 = {
                  test: 'aaa'
              };
  
              var item2 = {
                  test: 'bbb'
              };
  
              var item3 = {
                  test: 'ccc'
              };
  
              collection.addItem(item1);
              collection.addItem(item2);
              collection.addItem(item3);
  
              collection.deleteItem(2);
  
              assert.equal(collection.count(), 2); // Fails, says it has 3 items
          });
      });
  });
  </code></pre>
  
  <p>The problem I have here is that the 2nd test fails. It asserts that there should only be 2 items left in the collection, but says it has 3 items.</p>
  
  <p>This is because the first test added 1 item to the collection. But in the 2nd test I do a:</p>
  
  <pre><code>var collection = new itemCollection();
  </code></pre>
  
  <p>How come the collection isn't empty? For some reason it still has the item in it that was added in the first test. I don't understand why this is happening.</p>
  
  <p>Anyone any idea?</p>