Refactored AbstractUserDataService