I made some pretty quick changes to this recently for another project and I think they're okay for now, but it might be worth spending a little bit more time thinking it thru and deciding what we want default behaviour to be, especially around how we capture errors.
Do we default to sending them via content load state and assume folks will connect that, or do we default to error alert so they show without any more work, but make everyone need to override to go to CLS by default?