This document discusses patterns for building scalable JavaScript applications. It recommends combining module, facade, and mediator/event aggregator patterns. Modules should be self-contained and communicate through a facade to the application core. An event aggregator promotes loose coupling by allowing modules to broadcast and listen to each other's notifications. Together these patterns can help address issues like reusability, independent testability, and failure tolerance to create maintainable, scalable JavaScript apps.