JavaScript is a powerful language, but like any other tool it has its ugly parts and its good parts. One of its "features", is that it doesn't really enforce any particular packaging practices. Modules or namespaces are not first class citizens. This means that as developers we are pretty much free to do whatever we want, and with this great power, comes great responsibility. This is my set of bes