A fun experiment to demonstrate some OO patterns in Javascript.