Replace ExchangeInfo and HandshakeFactory

**Description:** replace ExchangeInfo and HandshakeFactory.
**Testing:** tests still pass
**Coverage:** about the same