add generic event object support