Changed Host to Device interface to use DecoupledIO. It is a cleaner solution.