// Update is called once per frame
    void Update()
    {
        if (controllerSystem.state != PlayerControllerSystem.State.traveling)
        {
            return;
        }

        if (timekeeper.getTime() <= waveController.waveStartTime)
        {
            // Done rewinding
            controllerSystem.underControl = true;
            controllerSystem.willStartWalking();
            return;
        }

        controllerSystem.underControl = false;

        // rewinds at the speed of rewindingSpeed;
        timekeeper.immediateOffset(Time.deltaTime * rewindingSpeed * -1);
    }