Property declaration:
atomic (default) or non-atomic (non-synchronized access)
readwrite (default) or readonly
copy
assign
retain (implied assign)
strong (OK with retain)
weak weak ownership, must be object type, property value set to null upon deallocation