LongTask API provides utility features for long and asynchronous task execution.
The API can be used by any module to provide a safe way to execute a task in a background thread with native progress and cancellation support, as well as error management.
The LongTask
interface must be implemented by classes
which wants to add these features.