Listen to when cart is being run
Did some investigating, and found this code in the cart.js of Celeste on the pico 8 forums (Preety printed with chrome).

```
function run(args) {
    args = args || Module["arguments"];
    if (preloadStartTime === null)
        preloadStartTime = Date.now();
    if (runDependencies > 0) {
        return
    }
    preRun();
    if (runDependencies > 0)
        return;
    if (Module["calledRun"])
        return;
    function doRun() {
        if (Module["calledRun"])
            return;
        Module["calledRun"] = true;
        if (ABORT)
            return;
        ensureInitRuntime();
        preMain();
        if (Module["onRuntimeInitialized"])
            Module["onRuntimeInitialized"]();
        if (Module["_main"] && shouldRunNow)
            Module["callMain"](args);
        postRun()
    }
    if (Module["setStatus"]) {
        Module["setStatus"]("Running...");
        setTimeout((function() {
            setTimeout((function() {
                Module["setStatus"]("")
            }
            ), 1);
            doRun()
        }
        ), 1)
    } else {
        doRun()
    }
}
Module["run"] = Module.run = run;
```

Simply need to write a listener (timeout once every 100 milliseconds) for Module.calledRun.