After some discussion with @limhoff-r7 , I think this makes more sense as a new class.