WIP. Connect is asynchronous. Add support for timeout. Stats works for remote client and for different endpoint.