public override GameObject constructCommandUIComponent(string commandUIName, Statement statement)
    {
        GameObject    commandObject;
        GameObject    dropdownObject;
        GameObject    statementButtonAdditons;
        MoveStatement moveStatement;
        GameObject    coordinateDisplay;

        commandObject      = new GameObject();
        commandObject.name = commandUIName;
        if (statement.GetType().IsSubclassOf(typeof(MoveStatement)))
        {
            moveStatement  = (MoveStatement)statement;
            dropdownObject = movementTypeSelector.generateMovmentTypeSelectorFromStatement(moveStatement);
            dropdownObject.transform.SetParent(commandObject.transform, false);
            coordinateDisplay = coordinateSelector.createCoordinatesSelector(moveStatement);
            coordinateDisplay.transform.SetParent(commandObject.transform, false);
        }
        else
        {
            if (statement is ToggleSuction)
            {
                GameObject       toggleSuctionObject    = Instantiate(suctionTogglePrefab);
                ToggleSuction    statementToggle        = (ToggleSuction)statement;
                ToggleSuctionCup toggleSuctionCupScript = toggleSuctionObject.GetComponentInChildren <ToggleSuctionCup>();
                if (toggleSuctionCupScript != null)
                {
                    if (toggleSuctionCupScript.suctionOn == statementToggle.isSuctionEnabled)
                    {
                    }
                    else
                    {
                        toggleSuctionCupScript.toggleSuction();
                    }
                }
                toggleSuctionObject.transform.SetParent(commandObject.transform, false);
            }
        }
        statementButtonAdditons = Instantiate(statementButtonAdditonsPrefab);
        statementButtonAdditons.transform.SetParent(commandObject.transform, false);
        //statementButtonAdditons.SetActive(false);

        return(commandObject);
    }