Because Click’s router components are generally very small
and functionally simple, much of the actual component
source code deals with the Click-specific component
framework and not with the functional purpose of the
components. For this reason, we decided to write our
components from scratch rather than adapt the existing Click
components to Knit.