What we should do is separate the VRGDA logic into a lib, and then call that from the abstract classes.