I threw this up on GitHub (finally), so if your interested you can browse the code at your leisure. I know I can't usually be bothered to download things to look at the source, so why would anyone else?
Enjoy, I may continue working on this soonish.