tokens now keep track of their source array so they can navigate relatively using Token.move