Perhaps this
```ruby
if item.respond_to?(:data)
 item.data[property.to_s].to_s
else
 item[property.to_s].to_s
end
```

gets it's own `property_data(property)` method?