void Start()
    {
        if (CharacterPanel == null)
        {
            Debug.LogError("characterPanel has no Text object associated with it.");
        }

        morseCode = GetComponent <MorseCode>();

        int msgIndex = Stage - 1;

        message = Messages[msgIndex].Content;
        //DecodedMessagePanel.text = message;

        // Remove whitespace in message
        // TODO: Keep whitespace?
        message = Messages[msgIndex].RemoveWhiteSpace(message);

        // TODO: "Shuffle" message before encoding then save order;
        // this is to avoid manually setting the order and at the same time still making the order of the message remain the same after each play,
        // i.e. pseudo-predetermined
        // -- (Unimplemented) --

        encodedMessage = morseCode.Encode(message);

        // Create a container for spawned objects
        spawnedObjects = new GameObject("Spawned Symbols");
        spawnedObjects.transform.parent = transform;

        symbolsToSpawn = new List <Symbol>();
    }