In general I think this module is not necessary.
We could use 

    OpenProject::Notifications.send notification_event_for(setting_name), {value: settings, old_value: old_settings }

to fire a notification and 

    OpenProject::Notifications.subscribe(notification_event_for(setting_name), &callback)

to subscribe