Tracks the client-initiated handshake lifecycle and decides which outbound request methods may be sent before it completes.