and let's make this method generic too, let is accept event name