There's a tradeoff between coupling and cohesion. All the books and talks are about decoupling because that's the interesting part. The problem is that in poor codebases you find everything has been decoupled and the complexity is a nightmare. As Adele Goldberg said: "βIn Smalltalk, everything happens somewhere else.β It's better to have a system where you only decouple where and when you want to because you have decided that paying the cost is worth it.