Adapt TCPv4 type for a listener-based API rather than mutable hooks