it would also be nice to pull this all out into a function (or at least the part about performing the callback, maybe leave the case statement). `start_fold` is already a beast.