Sure, directories can be used badly (and the Java and Ruby projects I&#x27;ve seen are often very difficult to navigate because so much is the structure of the language, rather than the structure of the project).<p>But they can also be used well, and the promise of a meaningful directory structure is really appealing.<p>Here&#x27;s a question, given all of what I understand about your layered way of structuring code: how easy is it to spin off logical portions of a project? If my project accretes its own HTTP server and I want to turn that into a stand alone library, could I? Would it be possible to &quot;rewrite history&quot; so that the HTTP-related changes never appeared in the layers to start with?<p>Thanks!