Transaction handler

Will allow the service layer to not have to pass in full persistence handler into every service, and hence be decoupled further from repository, followup would be to decouple permission handling as well so repository also does not need to be injected allowing them to be fully decoupled.


- [x] SPI change
- [x] Impl change
- [ ] JIRA Issue
- [ ] Add unit tests