Это уже далеко заходит 🙈 У меня стоит реально бытовая задача. И я фактически решая ее, обучаюсь JavaScript. Чего точно не хочу, это использовать фреймворки и подобное. Я даже JQuery не подключил
Есть топорный вариант. Сделай универсальный класс "действие" с интерфейсами isReady и do. Например если существует какой-то нужный элемент то isReady возвращает true, в do пишешь функцию что действие должно сделать. Сделай пул действий. Луп с таймаутом периодически проверяет первое действие из списка, если ready то делает do, потом переходит к следующему и так пока всё не закончится.