- Modules communicate by passing control information
- It is acceptable if the control parameters allow for reuse of functionality (sort function that takes comparison function as argument)
- It is bad if the control parameter indicates completely different behaviour