private void Update()
        {
            switch (ControllerState)
            {
            case GameController.State.Enter:
                if (step == 0)
                {
                    p.PaddleStatus = Paddle.Status.Enabled;

                    if (countdown == null)
                    {
                        countdown = CountDown.New();
                        countdown.Begin(
                            () => {
                            canContinue = true;
                        }
                            );
                    }

                    step++;
                }

                if (step == 1)
                {
                    if (canContinue)
                    {
                        step = 0;
                        levelTimer.SetStartOffset();
                        ControllerState = GameController.State.Execute;
                    }
                }

                return;

            case GameController.State.Execute:
                if (step == 0)
                {
                    p.PaddleState = Paddle.State.Serve;
                    step++;
                    return;
                }

                if (step == 1)
                {
                    levelTimer.PrintTime();
                    return;
                }

                return;

            case GameController.State.Exit:
                return;

            default:
                return;
            }
        }