Tasks for users are seperated in different components to re use information and be able to distinguish task information from task assignment information.
In order to control how assigned users should report information about executed tasks or progress, we utilize FormFields related to TaskTemplates. FormField configurations give the ability to define how a report by the user is structured.
When a user does any progress on a task, the FormField information will be used to show report forms. The user input will be stored as TaskProgressFields which keep information about each task execution information for a task.