This project is now archived. There are no future updates and it may (and will) contain unfixed bugs, including possibly serious ones.
We will not provide any updates nor support.
Use as a reference or a great learning tool for nice code. But don't use in production, or only at your own risk.