Add exchanger which can exchane data between two threads. 
Add Phases which can phase make thread run in some phase
Add executor which provide a thread pool.