visibility methods trigger watch callback