Simplify tests with nthreads(), readability
Add timeout tests
Add timeout logic to ->wait()