public interface TaskIO Process state when the task is started, and outputs, which can be thought of as atomically applied to the Process state when a task is completed. Task can use Task.inputField to specify the field from the Process state that should be used as inputs, and Task.outputField to specify the field from the Process state that the task should output to.
More complex tasks can take multiple fields from the process state via Task.inputFieldList and write to multiple fields of the process state via Task.outputFieldList. In this case, the task is said to have an "input Record" and/or "output Record", which can be thought of as a copy of the process state Record with only the fields listed in the inputFieldList are copied.
When both inputField and inputFieldList are specified, the inputField is considered the "primary" input field and will be used automatically by various Task subclasses.