handle abstract method
Handles the input data and produces output
Override this to provide custom step logic.
The context
can be used to share data between steps.
Throws if processing fails.
Implementation
FutureOr<Output> handle(Input data, ChainContext context);