Refactoring on Unit Of Work pattern implementation to support repositories with different kind of key.