hydra_persist segvs because the dmx engine is not initialized.
this fix also adds support to specify which demux engine to use.