:gift: Configuration and refactor

お元気ですか @jensechu?  I thought your project was really cool so I wanted to contribute back some changes, I hope you don't mind (feedback always welcomed).
The initial reason I created the `config` object was to make the output configurable, specifically to allow the public interface to be tested.  The first step to that was either mocking `console.log` or allowing the output to be configured.  I picked the latter because I could see where you might want to pipe the output elsewhere, this was most useful in the tests.