There is still a code smell, however :)  IMO, the biggest smell is inside the cookbook uploader API.  instance_variable_set is a bad thing to have to do!