CommandHandler должен вернуть состояние операции.
В частности, если вместо исполнения команды, она ставится в очередь, надо вернуть токен.
По итогу имеем (к черту всех этих Янги и прочих) разделять разделить Command и Query невозможно - контракты идентичны.
Но это только в случае если ты собираешься CQRS имплементировать в реальном приложении, а не для написания очередной бестолковой статьи о сферическом коне в вакууме...