Add insertValue methods with index argument for insert variable into array structure with given index
Update the handling logic for when variable is already existed in the current record in array structure:
1. If index is not given, create a new record to store the variable and add it to the last (original logic)
2. If index is given and it's event variable, then try to find the next event record with same event type; If no more same type event, then create new one
3. If index is given and it's non-event variable, then try the next record until there is no such variable in it; If no more suitable record, then create new one