Класс обертка для запуска фонового выполнения программ

Для запуска задач часто приходится писать один и тот же код, поэтому решил реализовать класс обертку для переиспользования.
Все, что требуется, это указать имя отчета, выполняющего обработку, и данные, с которыми отчет будет работать.
Внутри основного метода есть вызов всех стандартных диалогов для настройки/планирования запускаемой задачи (background job).
Все protected методы доступны и могут быть переопределены (опционально) наследниками, это обеспечивает гибкий подход к процессу вызова.

Основной класс:

Класс для передачи данных через кластер:

Пример использования

Старт задачи:

Обработка: