Improved event constructors