change AbstractNotifier to AbstractPlugin