Pattern the observer-the second variant