I find dependencies to be a very good indicator for how my code should be modularized. That is, rather than pulling a boatload of dependencies into &quot;the application&quot;, pull a couple dependencies into a module, and then depend on the module. It makes it very easy for dependencies to be a &quot;well, it gets the job done for now, and I can reimplement that myself if that changes&quot; sort of thing.