The goal of modular design is to minimize the dependencies between modules.

the sweet spot is to implement new modules in a somewhat general-purpose fashion.

that the module’s functionality should reflect your current needs, but its interface should not.