exposing events properly