context class to share state
thread safe state manager to manage state sharing
adding support for scheduling
Merge remote-tracking branch 'origin/master'