I suspect spawning a child might make the code smaller and with less vars.