The thing is, if I instantiate the Spec through a different class loader within a constructor extension, the rest of the framework won't work very nicely, as the Spec won't be castable as a spec anymore (it has a different class loaded, so it's not the same class)