should probably assert that event_name is a non-empty string and properties is a dict