Why do newbies like to tightly couple systems to the point that a simple change is very likely to result in everything breaking? Is it just a lack of experience, ie not having a big system fail on you? Its a shame if failure is the only thing you learn from. The other part of the equation is that too often we’re measured by how much code we write, not how much good code we write.