While facing a particular issue in how to design some workflows that I just knew where going to change in structure down the line, I found this very useful article which I would recomend having a look at.
I have been using them to add all of my procedural code, such as getting queue’s, creating emails etc and all the related setup. This would be the child workflow.
Then all my condition statements and decision making appears in the main workflow which simply calls the child workflow at the correct time. This means if your main workflows structure changes, you do not have to redo all of the other steps (as we all know how poor the Dynamics Workflow Designer is at changing structure, moving things and cut,copy,paste).
This is the way I will be handling things from now on.