What's the name for this JavaScript pattern?
<p>I've been using this pattern whenever I need to create a class that might need to be instantiated multiple times and I want to prevent private methods from being accessed outside of the object.</p>

<p>What's the name for this JavaScript pattern?</p>

<p><a href="http://jsfiddle.net/CHcXG/" rel="nofollow">http://jsfiddle.net/CHcXG/</a></p>

<pre><code>var baseball = (function() {

    var _add = function(value) {
         value = value + 5;
         return value;
    };


    var constructor = function(iVal) {
       this.baseball = true;
       this.num = iVal; 
    };

    constructor.prototype.add = function() {
         this.num = _add(this.num);
    };

    return constructor;

})();

var test = new baseball(5);
var testb = new baseball(6);
</code></pre>

<p>The names, values and methods in the example above are completely meaningless; I just want to illustrate the syntax, structure, and usage of the pattern.</p>
