We are going to make wait(0) non-blocking and wait(-1) blocking forever. Probably, we should introduce special name constants for these values.
Also, for Connector::wait, we could introduce an integral type wrapper for the time values (since we are in C++ world).