"Loose Coupling and High Cohesion" the design principle that lies at the core of all others. I loved the KitKat metaphor and several packets of biscuits are going to have a bad end for my next presentation. Controversial counter-argument about the means of "achieving this" in the talk- a mediator does not remove the dependency between modules. It's only a way of pretending that you have. Turn off the consumer the job doesn't get done. It is still coupled both logically and prectically. Message queues are worse - now the producer is also pretending it isn't coupled to the data locking and thoughput of the consumer. "Looser coupling AND Higher Cohesion" are ways to compare design options and loose cohesion cannot be achieved by inserting an intermediary. Ignoring this during development is a convenient but it is... tech debt - as every such project finds out during integration and then again during deployment under load. . Great talk, far more positive takeaways than negatives. It's a shame I'm too late and in the wrong country to get to the Jetbrains booth without a Tardis 🙂