Но вот вопрос, допустим вернется ID процесса. После этого ведь нужно сново запустить AJAX? Если 2-ой AJAX будет опираться на другой метод, то как он узнает результаты 1-ого метода?
Делаете запрос на создаете процесс, бекенд отдает id процесса.
Сохраняете этот id. В локальную переменную, в куки, в local storage, куда посчитаете целесообразным.
Далее этот id будет участвовать во всех http запросах, какие вы захотите делать.
Без полученного id эти запросы всё равно не будут иметь никакого смысла. А шаринг id между запросами можно устроить через глобальное состояние фронтенд-приложения, через те же cookie, local/session storage и т.п.
Денис, не вижу смысла использовать лишние обвязки, которые не решат абсолютно ничего.
тот же перебор, использование тех же самых колбеков и тех же функций из языка. подумайте, а нужна ли вам лишняя зависимость?
И интерфейс добавить для работы в основной "фабрике" с методами supports($entity): bool и run().