Always use protocol from factory so events go to the correct protocol instance after reconnect.