revamped chain of events to initialize data and know when data is ready or changed