Generating value objects in Objective-C