cleanup
add EventAggregator and TaskHelper
refactor TaskScheduler usage