2 examples of a problem. One solved with Angular, another solved with some OOP-esque JavaScript patterns