add a convenience constructor for Events