updated to use the block form of getting at transient attributes, wrote tests to make sure root_group is set on factory usage and ancestry works as expected