Generic Repository is refactored.