Use mutated object as guard for synchronization. Copy discovered callbacks to cached callbacks. Reduce concurrency in unit test to reduce test load. Guard synchronization with timeouts. Original pull request: #446.
Use mutated object as guard for synchronization. Copy discovered callbacks to cached callbacks. Reduce concurrency in unit test to reduce test load. Guard synchronization with timeouts. Original pull request: #446.