criado padrao observer