Given the volume verifier has quite a few non-trivial object within it, it's best to default the destructor within the cpp file to prevent inlining complex destruction logic elsewhere, while also making it nicer if a forward-declared type is ever used in a member variable.