PropertyAccessor refactoring