I think I was trying to be able to treat them uniformly in the event generation phase.  So now, the current event generation is completely generic and works with any kind of object.

Do you remember why you were trying to make the distinction?