Add vdirect plugin to provide escape hatch
tests: add vdirect tests