A complex workflow can contains hundreds of activities. In this case you should break this workflow to multiple sub-workflows, each sub-workflow will do a specific task in the whole process. So we can see the whole picture better and also easier for management.

We can use arguments to pass data between these sub-workflows.

You can see an example in Variables and Arguments section.