Our own TransactionScope (#335)

Closes #335