use class_eval loading of superclasses for deletion strategy too

and collapse the indentical deletion strategies into a single GenericDeleteAdapter