use inheritance for persistent entity
simplify persistor DSL