Не работал с worker manager но думаю можно сделать общий класс, какой нибудь репозиторий для работы с ним и инжектить его туда куда надо
Там под каждый тип работ нужно конкретный класс Worker указывать. Если так абстрагировать это дело, можно попробовать параметром гонять sealed class, а в реализации протокола трогать нужный Worker, но что-то не нравиться мне это. Я пока просто через конструктор Worker`a загонял зависимости (UseCase/Repo)