Notifier class and signature abstraction.

@srbiv :eyes: