thread safe observer pattern plus multi threading test suite