combine move, ascend, and descend
fix the tracelocal backend a bit more

there are probably still a couple race conditions here, but it seems to
be a lot more reliable in testing now