JavaScript Patterns: Build Better Applications with Coding and Design Patterns