I threw this code together in an evening. I broke just about every "best practice" I'm aware of.
This code is neither maintainable nor useful. Please don't try to model anything after it.
Nonetheless, the code I wrote is MIT license, so help yourself...