An abstract interface for persistence providers