change notify decorator to take in event_factory_class & **kwargs