The `Submodule` constructor is actually the only variable with an uppercase first letter (so, `Submodule`).  The convention is that only constructors are uppercased like this, so that it's clear elsewhere in the code what does and does not get instantiated with the `new` keyword.  So, if code in another file wanted to create an instance of this object:

````javascript
// We know that we need `new` here because of the casing of the variable name
var submodule = new Library.Submodule();
````

This is another convention that I use in lib-tmpl because it is fairly universal and standard.  It's also enforced by [JSLint](http://www.jslint.com/lint.html#new) and [JSHint](http://www.jshint.com/docs/options/#newcap).  I'm not sure of the history of this convention, but [many languages use it](http://home.wlu.edu/~lambertk/pythontojava/ClassVariables.htm).

Please note that any aliases to `Library.Submodule` must also be in the capitalized form (`Submodule`), so it will need to be updated everywhere else in this Pull Request.