Cleanup

I didn't see any tests, so I just kept running `examples/buzzwords.js`. I expanded it a bit to be a better test case.

* Extracting utils into their own file
* Extracting settings into their own file
* Ditching OOP in favor of closures