Creating software has never been easier. Creating good software is still hard. One of the key characteristics of good software is a minimal amount of complexity. One of the ways to achieve this is through deep modules.