“Every module in the decomposition is characterized by its knowledge of a design decision which it hides from all others… It’s interface or definition was chosen to reveal as little as possible about its inner workings” – On the criteria to be used in decomposing a system into modules – Parnas (1972)