Add convenience abstract super classes

Related to #1239.

@yDelouis @dodgex this is what you guys think of?