Need to implement Observer.