Use MachineWrapper for remote provider to simplify implementation