Implementing transactions with a callback and promise-based API - Effect Community