How to create and set values for a variable number of text boxes in Blueprint

Use case: Player input will cause text to display at the bottom of the screen that indicates the move the player performed. To denote combos, additional inputs within a window of time will cause the new text to append itself to the current combo text. There is no upper limit on the length of a combo, theoretically a player can go infinite (although this is unlikely).

I currently have this system working by sending a string with a custom event, appending the string to an array, then converting that array to a string and the resulting string to text, which is then used to set the text box string. The problem is, certain strings should show up in different fonts/colors to denote. How would you go about creating a system that can append text of varying colors and fonts to an existing Ui element based on player input?

Rich text block: