As it turns out, instance variables still need to be public visible even if they are a property. Otherwise they default to private, breaking access by the same class.
Merge branch 'objc_properties' into latest