I think the `_collect` name here is a bit vague. Maybe something like `_define_event`?