atures. Ample configuration and customization options should be provided so the
                user does not feel tempted to start hacking code. At worse, the user may have to subclass, which is much
                easier to port to newer versions of the code base, than customizing the base code.
            </li>
            <li>Minimal dependencies. The code should rely on a minimal
                number of external packages, so the user does not have to go
                chase them down all over the 