This is scary. I don't have time to watch the whole video of the discussion right now, but can you summarize why this is patched here instead of this moving into the upstream `fire()` method? I worry about the maintenance hassles that might ensue.