React WebSocket connection layer — separate hooks for actions, connection state, and message events to avoid unnecessary re-renders
Description excerpted from the original listing, which is linked below.