How to refer to multiple classes without creating a mess?
<p>I have a situation where I have 8 steps (think of it as a wizard). Each step consists of something different so I've created 8 classes. Each of the classes need some information from the previous steps (classes). All the classes are called from one main class. The neatiest way I've found to handle this situation is :</p>

<pre><code>public void Main()
{
   var step1 = new Step1();
   step1.Process();
   var step2 = new Step2(step1);
   step2.Process();
   var step3 = new Step3(step1, step2);
   //...
   var step8 = new Step8(step1, step2, step3, step4, step5, step6, step7);
   step8.Process();
}
</code></pre>

<p>Obviously, this is a mess. I don't want to send that many parameters and I don't want to use static classes (probably not a good practice).</p>

<p>How would you handle such situation?</p>
