Modificar conceptos
-------------------
1) El usuario ingresó:
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

2) El usuario modifica term2 por ter:
term1, ter, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

3) len(terms) == len(pref) & ter != ter2 => modificando segundo concepto
term1, ter, term3
conc1, None, conc3 (pref: term1, None, term3)

lista de conceptos con "ter"

4a) El usuario presiona la coma => se elige el concepto seleccionado
term1, termx, term3
conc1, concx, conc3 (pref: term1, concx, term3)

4b) El usuario continúa con las operaciones del widget.
Si se permiten nuevos términos, se mantiene el término seleccionado sin concepto.

Eliminar concepto sin quitar la coma
------------------------------------
1) El usuario ingresó:
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

2) El usuario elimina term2 y deja la coma:
term1, , term3
conc1, conc2, conc3 (pref: term1, term2, term3)
Es el mismo caso que modificar.

3) None != term =>
term1, , term3
conc1, None, conc3 (pref: term1, None, term3)

4) Al almacenarlo se guarda como:
term1, term3
conc1, conc3 (pref: term1, term3)

Elimina algunos caracteres, luego quita todos y quita la coma
-------------------------------------------------------------
1) El usuario ingresó:
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

2) El usuario borra caracteres de term2:
term1, te, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

3) ter != ter2 => modificando segundo concepto
term1, te, term3
conc1, None, conc3 (pref: term1, None, term3)

4) El usuario elimina todos los caracteres y quita la coma:
term1, term3
conc1, None, conc3 (pref: term1, None, term3)

5) len(terms) < len(concepts) =>
	Eliminado = pref - terms (el primero en orden) =>
term1, term3
conc1, conc3 (pref: term1, term3)

Elimina el término entero y quita la coma
-----------------------------------------
1) El usuario ingresó:
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

2) El usuario borra term2 y la coma:
term1, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

3) len(terms) < len(concepts) =>
	Eliminado = pref - terms(el primero en orden) = term2 =>
term1, term3
conc1, conc3 (pref: term1, term3)

Elimina dos términos
--------------------
1) El usuario ingresó:
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

2) El usuario borra term1 y term2:
term3
conc1, conc2, conc3 (pref: term1, term2, term3)

3) len(terms) < len(concepts) =>
	Eliminados = pref - terms =>
	#Eliminados > 1 =>
Cancela la eliminación
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

Elimina la coma que separa dos términos
---------------------------------------
1) El usuario ingresó:
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

2) El usuario borra la coma entre term1 y term2:
term1 term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

3) len(terms) < len(concepts) =>
	Eliminados = pref - terms = {term2,term1}
	Agregados = terms - pref = {"term1 term2"}
	#Eliminados > 1 =>
Cancela la eliminación
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

Agrega una coma que separa un término por la mitad
--------------------------------------------------
1) El usuario ingresó:
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

2) El usuario agrega una coma dentro de term2  (entra por chooseSelectedConcept):
term1, ter,m2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

3) Si estaba modificando y la coma está dentro del término modificado, elige el término seleccionado
Cancela el agregado
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

Agrega una coma luego de una coma
---------------------------------
1) El usuario ingresó:
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

2) El usuario agrega una coma luego de term2:
term1, term2,, term3
conc1, conc2, conc3 (pref: term1, term2, term3)

3) Si la coma no está dentro de un término en modificación, cancela
term1, term2, term3
conc1, conc2, conc3 (pref: term1, term2, term3)
Modificando cuarto concepto.

Si no se especifica, modificando pasa al último concepto.
