Mike,
This is rather complicated, or rather simple, depending on what your reporting goals are.
You could have several Channels and Statuses and then have a Program for each unique part of the program:
- 
		Email
 - 
		Download
 - 
		Survey
 
and each step has its own progressions and definitions of success.
You could have a fourth Program that tracks success of all three - that is, did someone go through all three? That would be its own channel.
You could also create a totally new Progression Channe with statuses like
- 
		Invited
 - 
		CLicked
 - 
		Downloaded Content
 - 
		Took Survey
 - 
		Converted to Opp
 - 
		Won Opp
 
or something like that.
The next question is are you using RCA? If so, this is important to get right because your Programs and Channel Types drive a lot of the high level reporting of success.