Repository and Unit Of Work implementation.