I have this lingering doubt:
you send [p description] to get a description of the possession object.
Where Im confused is that we are asking for the return of a method from the Possession Class. How does it know to return the possessionName, serialNumber, valueInDollars and dateCreated for that specific p? Shouldnt the method signature be something like [p description:(Possession*)p]; or something, in order to tell the method that we are asking for the description of that specific p instance?