Design patterns explained in Javascript | Hacker News Reader