void Awake()
        {
            stackGenerator = new GameStacksBuilder();
            prefabsManager = GameObject.FindGameObjectWithTag(Tags.PREFABS_MANAGER).GetComponent <PrefabsManager> ();

            int[]             chipIds      = new int[] { 0, 4, 6, 3, 9, 6 };
            int[]             crushWeights = new int[] { 0, 0, 5, 4, 0, 0 };
            bool[]            initFlips    = new bool[] { false, true, false, false, true, false };
            int[]             targetFlips  = new int[] { 1, 0, 0 };
            GameGeneratorMeta courseMeta   = new GameGeneratorMeta(chipIds, crushWeights, initFlips, targetFlips);

            ApplicationModel.stackMetaPair = GameGenerator.CreateFromGameGeneratorMeta(courseMeta, prefabsManager);
            gamestacks = stackGenerator.BuildGameStacks(ApplicationModel.stackMetaPair, prefabsManager);
            gamestacks.Target.gameObject.SetActive(false);

            demoStack = gamestacks.Player;
            demoStack.AddListener(this);
            demoStack.transform.position = new Vector3(0, 0.4f, 0);
            demoStack.gameObject.AddComponent(typeof(ChipListHighligter));
        }