 if (nrows % batch_size === 0) {
                            tbl.update(rows);
                            rows = [];
                            setTimeout(batch, batch_freq);
                            break;
                        }
                    }
                })();

                return tbl;
            };

            // GUI

            const make_run_click_callback = (state) => async () => {
                state.table?.delete?.({ lazy: true });
                state.table = gen_data();