buffered_do, works like DBIC's txn_do