Merge changes from topic "variant notifyargs"

* changes:
  Add a generic 'notify' function
  Use std::variant for NotifyArgs