When people talk about modularity, they usually focus on separating the interface and implementation. The whole of point of a module is that it should hide a secret in its implementation that isn?t apparent from the interface. A user can then take advantage of what the module does without knowing all the gory details of its implementation.