primary target is always used, so keep that separate from the option vector.  NotificationTarget needs to be enable_shared_from_this.