1) I plan to execute one wizard for entire subproject (or if it possible for client). What I can put into "while" condition to observe is subproject (or runtime in other case) still running? 

2) This while loop will be in sepparate thread. Is it good solution?

3) Goal to reduse code, variables, and combine some subprojects logic and data in RAM memory. Is better ways to achieve that goal?