refactor donatable creation and loading into service object