Task is a self-contained job unit which runs as a separate executable and, in fact, in a separate Docker container. It reads inputs from and writes results to corresponding directories (with fixed structure) and prints messages to stderr/stdout.

For compatibility with Supervisely a task implementation should meet some requirements. So:

Furthermore, it is useful