I come from an embedded development environment, and for me simplicity is everything. But even that, I think the approach of an "all public" class is a little bit risky, and can be a pain to debug if accidentally you change an internal state.
If a class is a black box, when you put your hand inside it, it becomes the "pain box" from the Bene Gesserit.
If a class is a black box, when you put your hand inside it, it becomes the "pain box" from the Bene Gesserit.