Allow ivar access in custom setters.

Sorry about the three pull requests, but I wanted you to be able to pick and choose the commits to pull in.