Javascript Module pattern template.
Shows a class with a constructor and
public/private methods/properties.

Also shows compatibility with CommonJS(eg Node.JS)
and AMD (eg requireJS)
as well as in a browser.