Move some fields/methods down to abstract base now that we use generics
and can hide PersistenceCapable