Так о чем и речь. Допустим, мы разделяем штуку, которая слушает голосовой ввод юзера и штуку, которая отлавливает в этом вводе команды с последующим их исполнением.
Прокидываем данные из одного места в другое, и получаем ровно ту же проблему: вторая штука все равно должна слушать первую. Есть вариант, конечно, делать именно слушающую мидлварь между ними, которая будет только слушать. Но чет я не очень доволен таким решением.