Add has_fired method to events