Rename property -> prop so it doesn't conflict with the built-in decorator