Our own TransactionScope (#335)

Closes #335 
Pretty sure we wanted type of `TransactionScope` (or whatever we end up calling our class) here. :)