struct will class_eval on a block for DRY-ness