Is there anything gained by the `OpenStruct` here other than dot notation? It seems like the `marshall_dump` stuff is extra work that would fall away if we just switched to a straight hash here.

If interaction with a hash gets hairy, I'd recommend spinning up a new `Cask::Headers` object to encapsulate the data.