Right now the value in {brackets} in a pattern is the value shown to an end user, but it is also linked to the key passed to the module. This should be changed because links display to implementation, but from a functional perspective it is also a problem because you cannot have two inputs with the same name.
e.g. "how much money did {person} give to {person}" would not be a valid pattern, since the second value would overwrite the first.