public IEnumerator Setup()
        {
            this.user = AccelBytePlugin.GetUser();

            Result loginWithDevice = null;

            this.user.LoginWithDeviceId(result => { loginWithDevice = result; });

            while (loginWithDevice == null)
            {
                Thread.Sleep(100);

                yield return(null);
            }

            Debug.Log(this.user.Session.UserId);
            this.statistic = AccelBytePlugin.GetStatistic();

            //Get AccessToken
            Result <TokenData> GetAccessToken = null;

            this.helper.GetAccessToken(result => { GetAccessToken = result; });

            while (GetAccessToken == null)
            {
                Thread.Sleep(100);

                yield return(null);
            }

            this.helperAccessToken = GetAccessToken.Value.access_token;

            for (int i = 0; i < this.statCodes.Length - 1; i++)
            {
                Debug.Log("Start to create stat! " + this.statCodes[i]);
                Result <StatConfig>        createStatResult = null;
                TestHelper.StatCreateModel createStat       = new TestHelper.StatCreateModel
                {
                    defaultValue  = 0,
                    description   = "Stat for SDK Test",
                    incrementOnly = true,
                    maximum       = 999999,
                    minimum       = 0,
                    name          = this.statCodes[i],
                    setAsGlobal   = false,
                    setBy         = StatisticSetBy.CLIENT,
                    statCode      = this.statCodes[i],
                    tags          = new[] { this.tags[i] }
                };

                this.helper.CreateStatConfig(
                    this.helperAccessToken,
                    createStat,
                    result => { createStatResult = result; });

                while (createStatResult == null)
                {
                    yield return(new WaitForSeconds(0.1f));
                }
            }

            Debug.Log("Start to create stat! " + this.statCodes[5]);
            Result <StatConfig> createStat6Result = null;

            TestHelper.StatCreateModel createStat6 = new TestHelper.StatCreateModel
            {
                defaultValue  = 0,
                description   = "Stat for SDK Test",
                incrementOnly = false,
                maximum       = 999999,
                minimum       = 0,
                name          = this.statCodes[5],
                setAsGlobal   = false,
                setBy         = StatisticSetBy.CLIENT,
                statCode      = this.statCodes[5],
                tags          = new[] { this.tags[5] }
            };

            this.helper.CreateStatConfig(
                this.helperAccessToken,
                createStat6,
                result => { createStat6Result = result; });

            while (createStat6Result == null)
            {
                yield return(new WaitForSeconds(0.1f));
            }
        }