The current project layout is confusing for such a simple application. 1. Too many intermediate and unnecessary domain objects / classes (example #27 ) 2. some modules are poorly named 3. too many `.` relative and nested imports make it harder to follow where objects are defined. 4. TODO: add more examples....