Thanks for the explanation. I got caught up on the "message passing" vs "api" part of your original comment and was wondering how you differentiated between the two.
>A good Java API wouldn't have many Setters/Getters that do nothing but set/get references to internal objects, but rather ones that parse and make sense of it's internal state.
I completely agree. Getter/Setter obsession often leads to breaking the Law of Demeter in most Java code bases I've seen.