Introduce Persistence interface
cleanup unused imports and generics
move duplicate implementations to superclass
add slf4j logging
add slf4j logging