Why doesn't triggerDataMember work with "private" access?

triggerDataMember is a great feature, and it helps a lot with some improvements I’m currently making to some very legacy code. However, I’m wondering why the decision was made to have it function differently for “private” and “non-private” access. Non-private access (from a script or from an object of a different “class”) automatically uses getter and setter methods, as desired. However, getting or setting properties from inside a component (e.g. using this.prop = 'foo' or echo(this.prop)) does not trigger getters and setters. I find this behavior pretty confusing, especially if one component is acting on another component which happens to be of the same “class”.

Specifically, I’m wondering about why the isPrivate() calls on these two lines exist: