The `nil` checking logic should really exist at the initialization level. This way, any code using an `Artwork` object can be assured that none of these properties are `nil`, rather than assuming that `Artwork` objects will always be created by `ArtworkParser`.