Event delegation moved off document, and what that breaks

React attached all its listeners to document, which is why two React versions on one page could not coexist and why mixing React with anything else was fragile.

// 16: every handler, on document
// 17: attached to the ROOT container instead

// what breaks:
//   e.stopPropagation() in a NON-React handler on document
//   no longer prevents a React handler from firing
//
// and what it enables:
//   two React versions on one page, upgraded independently

The coexistence is the entire purpose of the release: an application that cannot upgrade because one widget cannot now upgrades everything else. The breakage is narrow and specific — code calling stopPropagation on a document-level listener to suppress React — and it appears in jQuery integrations more than anywhere else. Testing any page that mixes React with another library is the whole migration.