Added synchronized blocks onto the waiter.  Now it is just a matter of testing to make sure that everything works...