Add annotation based event dispatcher