wip: support multiple transaction commits
remove transaction-level relationship book-keeping