@chikoon This is the Revealing Module Pattern - http://addyosmani.com/resources/essentialjsdesignpatterns/book/#revealingmodulepatternjavascript

The reason for doing it this way is because later on we'll have some private methods that we don't want to expose. E.g. when we're doing data transformations / google analytics tracking / ...

Also, if we don't return it, there is no way to access it.