Do not abort if already disconnected. Emit events consistently.