with observer callback test pattern