implemented notify mechanism of state change