I think I'd rather it be more verbose, and people have to upfront make the event name, class, and an (optional) selector, then pass in a block that returns a dict for properties on that event. 

The arguments thing is interesting also.