Clean up the event class signatures to be consistent

All event classes should take optional objects with properties
to set on the object.