Move (more) common stuff into the abstract base