Provides a generic interface for basic repositories