Revert "ensure nullable semaphore variable isn't cached by threads"

This reverts commit 97094b16b87eacf0e434206a1b990637e166e9c3.
Revert "public repository does not wait for threads during shut-down"

This reverts commit 5e8582810516b48f2b9ae67e0936f029f3b07467.
provide sleep timer class for semaphore sharing