Refactor - add base CrudService interface