Input management for fighting combos

Hi everyone,
I am new here, so excuse me for dumb questions, if it is.

So, me and my friend are making beat-em-up game, where playable characters will have various combos. I have already made manager, where game designer (my friend) can assign combos to characters. It’s raw, inconvenient, spaghetti code, but it works… for current needs. The idea is, that there is a combo, which can have several attacks, and attack is initiated with action, which is configured with input system. And every attack can have one or several animations, and other parameters (this is not important now).

Let’s say, there are 3 combos assigned for a player:

  1. High hit(HH), High hit, High hit;
  2. High hit, Low hit(LH), Low hit;
  3. Low hit, Low hit, Low hit.

If user quickly presses HH, HH, HH, he performs all the attacks from 1 combo. Same with others. If he presses HH, waits till animation almost over, then presses HH, and with same delay presses HH, he still performs the same 1 combo. Both of these options works for me now.

But my friend thinks, that third option is needed, where player quickly presses HH, HH, HH, starts to perform 1 combo, but at the end of first attack, he changes his mind, and presses LH. In that case he should start performing 2 combo. And here I am stuck for a while now.

Can someone have ideas of principle, how it should be implemented? Maybe not in code for starters?