I didn't realize that we override `instance_exec` here.  Given that it's a core ruby method available on all objects that is expected to behave in a certain way (i.e. eval the block with the object as `self`) and this does not behave that way...can we rename this to `eval_block_in_group` or something like that?  I'd prefer not to stomp on ruby's version of this method.