Added RuntimeStateProvider as singleton wrapper class to hold runtime state object in on single place
Merge with master