Every task – no matter if it's using boundary events or not – must provide three classes that contain

  1. The task input parameter

  2. The task output parameter or result

  3. The business logic of the task (called task processor)