Rethink the naming, type and hierarchy of modules
Currently, the modules don't do a good job in showing an example application. The names are 100% generic, there is no interdependency, etc.
It might be more useful to have a real-life application as an example. Perhaps even rebuild the CML example project (as that is widely known)?