I have no idea how this class is meant to work--how do you make sure the "variables" are driven by the right data? But this isn't relevant to this PR, I just noticed that this class existed because of it.