Use OpenStruct instead of Struct to generate anonymous classes

My worry here is this is going to start getting pretty slow, but we'll
try it and see what happens