test 4 - observer pattern