Patterns For Large-Scale JavaScript Application Architecture [addyosmani.com]