Optimized implementation of properties.
Merge branch 'properties' into my_branches