у меня работает, примерно, по такой логике:
запаковываем сообщение в контейнер, сейвим о нём инфу в базу.
закидываем в плагин.
Для этого сообщения есть спец листенер, который получает сообщение, смотрит в базу и если всё ок, экстрактит из полученной сообщеньки оригинальную и выполняет.
Добавить в данную схему решедьюлинг, если время не наступило - 3 строчки кода