Handshake added
some corrections concerning signals and the handling of timeouts of ProcessEvents, introducing SignalObserver