I concur with chromatic. That said, if there are some other factors in play that preclude doing this, you might consider using an around statement in conjunction with the attribute reader to handle any pre-processing needed. You might not even need to have an explicit builder in that case.

tye, in all seriousness, would you expand on that (rather broad) statement? I realize this could touch off a "tastes better/less filling" discussion with regard as to what proper OO design is, but I would like to know the basis for your statement. especially since chromatic has a much better claim to knowing what he is talking about than I do in this community. :)