but "_progress" uses the manual_transactions context manager. Doesn't it need the decorator if it makes transaction.commit() or transaction.rollback() calls