Improve transaction management
It seems that endpoint execution opens 2 transactions at once:
one required to perform action
second, idle being rollbacked at the end. We should eliminate second one.