Ok, I can't wait, I have written my own :)
If you are interested you can have a look here:
https://github.com/Daniels118/blackandwhite