This can easily lead you down a path of excessive modularity with each module being excessively complex though