add a busy wait tester test wait & notify
add tester for observer
add observer pattern