    public void run() {
        while (running_.get()) {
            MotionEvent[] motionEvents = inputBroker_.takeBundle();
            long now = System.currentTimeMillis();
            float elapsed = (float) ((now - lastTime_) / 1000.0);
            gameState_ = physicsSimulator_.run(elapsed, gameState_, motionEvents);
            renderer_.render(gameState_);
        }
    }

    public void run() {
        while (running_.get()) {
            MotionEvent[] motionEvents = inputBroker_.takeBundle();
            long now = System.currentTimeMillis();
            float elapsed = (float) ((now - lastTime_) / 1000.0);
            lastTime_ = now;
            gameState_ = physicsSimulator_.run(elapsed, gameState_, motionEvents);
            renderer_.render(gameState_);
        }
    }
