src: Add transaction support
index.js: Make transactions yieldable