Fixed recreation/reallocation of all outputs if a new input was added.
Now there are two different functions:
CreateOutputForInput(idx) which only creates an output for the input at [idx]
CreateOutputsForAllInputs() which implements the previous behaviour and recreates all outputs.