Wait step only for steps on the current agent

I have build steps then wait, then several deploy steps (on different machines) which supposed to run in parallel.
But each deploy step creates dynamic sub-steps which connected with each other through ‘wait’ command, because next step must not perform if previous step is failed.

Now steps from machineA wait steps from machineB too and my deploys can not run in parallel, in spite of they are on differen machines.

I could gather all deploy steps in one big Job. But in this case my logs will not be so well-structured and easily to read in case of errors.