Uh, yea, OK.  So my major problem here is the scoreboard and the OriginWalk are too disconnected from each other.

OriginWalk is doing this nasty linearization of all Origins.  Which then leads to this sort of crap.  Its horrifically confusing.

IMHO, OriginWalk should just be folded outright into this class.  The code should actually get a lot simpler because you stop trying to linearize the different origins.