I know, that's why I think Y.soon would be a better choice. Restriping should be async, but as fast as possible. In an ideal browser it should happen after all calls to addRow() but before repainting (what MutationObserver does).