template <typename T>
 class CHG_BEFORE_NOTIFIER : public PROPERTY_NOTIFIER_BASE<T> {
 public:
-                CHG_BEFORE_NOTIFIER(AUTH_AO & a, USER_PTR u) : user(u), auth(a) {}
+                CHG_BEFORE_NOTIFIER(AUTH_AO & a, USER_PTR u)
+                    : PROPERTY_NOTIFIER_BASE<T>(), user(u), auth(a) {}
                 CHG_BEFORE_NOTIFIER(const CHG_BEFORE_NOTIFIER<T> & rvalue)
-                    : user(rvalue.user), auth(rvalue.auth)
-                {}
+                    : PROPERTY_NOTIFIER_BASE<T>(),
+                      user(rvalue.user), auth(rvalue.auth) {}
     void        Notify(const T & oldValue, const T & newValue);
     USER_PTR    GetUser() const { return user; }
 
 template <typename T>
 class CHG_AFTER_NOTIFIER : public PROPERTY_NOTIFIER_BASE<T> {
 public:
-                CHG_AFTER_NOTIFIER(AUTH_AO & a, USER_PTR u) : user(u), auth(a) {}
+                CHG_AFTER_NOTIFIER(AUTH_AO & a, USER_PTR u)
+                    : PROPERTY_NOTIFIER_BASE<T>(), user(u), auth(a) {}
                 CHG_AFTER_NOTIFIER(const CHG_AFTER_NOTIFIER<T> & rvalue)
-                    : user(rvalue.user), auth(rvalue.auth)
-                {}
+                    : PROPERTY_NOTIFIER_BASE<T>(),
+                      user(rvalue.user), auth(rvalue.auth) {}
     void        Notify(const T & oldValue, const T & newValue);
     USER_PTR    GetUser() const { return user; }
 
 
 //-----------------------------------------------------------------------------*/
 class CHG_CURRIP_NOTIFIER_PING: public PROPERTY_NOTIFIER_BASE<uint32_t> {
 public:
-    CHG_CURRIP_NOTIFIER_PING(const PING & p, USER_PTR u) : user(u), ping(p) {}
+    CHG_CURRIP_NOTIFIER_PING(const PING & p, USER_PTR u)
+        : PROPERTY_NOTIFIER_BASE<uint32_t>(), user(u), ping(p) {}
     CHG_CURRIP_NOTIFIER_PING(const CHG_CURRIP_NOTIFIER_PING & rvalue)
-        : user(rvalue.user), ping(rvalue.ping)
-    {}
+        : PROPERTY_NOTIFIER_BASE<uint32_t>(),
+          user(rvalue.user), ping(rvalue.ping) {}
     void Notify(const uint32_t & oldIP, const uint32_t & newIP);
     USER_PTR GetUser() const { return user; }
 
 //-----------------------------------------------------------------------------
 class CHG_IPS_NOTIFIER_PING: public PROPERTY_NOTIFIER_BASE<USER_IPS> {
 public:
-    CHG_IPS_NOTIFIER_PING(const PING & p, USER_PTR u) : user(u), ping(p) {}
+    CHG_IPS_NOTIFIER_PING(const PING & p, USER_PTR u)
+        : PROPERTY_NOTIFIER_BASE<USER_IPS>(), user(u), ping(p) {}
     CHG_IPS_NOTIFIER_PING(const CHG_IPS_NOTIFIER_PING & rvalue)
-        : user(rvalue.user), ping(rvalue.ping)
-    {}
+        : PROPERTY_NOTIFIER_BASE<USER_IPS>(),
+          user(rvalue.user), ping(rvalue.ping) {}
     void Notify(const USER_IPS & oldIPS, const USER_IPS & newIPS);
     USER_PTR GetUser() const { return user; }
 
 //-----------------------------------------------------------------------------
 class ADD_USER_NONIFIER_PING: public NOTIFIER_BASE<USER_PTR> {
 public:
-    ADD_USER_NONIFIER_PING(PING & p) : ping(p) {}
+    ADD_USER_NONIFIER_PING(PING & p) : NOTIFIER_BASE<USER_PTR>(), ping(p) {}
     virtual ~ADD_USER_NONIFIER_PING() {}
     void Notify(const USER_PTR & user);
 
 //-----------------------------------------------------------------------------
 class DEL_USER_NONIFIER_PING: public NOTIFIER_BASE<USER_PTR> {
 public:
-    DEL_USER_NONIFIER_PING(PING & p) : ping(p) {}
+    DEL_USER_NONIFIER_PING(PING & p) : NOTIFIER_BASE<USER_PTR>(), ping(p) {}
     virtual ~DEL_USER_NONIFIER_PING() {}
     void Notify(const USER_PTR & user);
 
 
 //-----------------------------------------------------------------------------
 class RS_ADD_USER_NONIFIER: public NOTIFIER_BASE<USER_PTR> {
 public:
-    RS_ADD_USER_NONIFIER(REMOTE_SCRIPT & r) : rs(r) {}
+    RS_ADD_USER_NONIFIER(REMOTE_SCRIPT & r)
+        : NOTIFIER_BASE<USER_PTR>(), rs(r) {}
     virtual ~RS_ADD_USER_NONIFIER() {}
     void Notify(const USER_PTR & user);
 
 //-----------------------------------------------------------------------------
 class RS_DEL_USER_NONIFIER: public NOTIFIER_BASE<USER_PTR> {
 public:
-    RS_DEL_USER_NONIFIER(REMOTE_SCRIPT & r) : rs(r) {}
+    RS_DEL_USER_NONIFIER(REMOTE_SCRIPT & r)
+        : NOTIFIER_BASE<USER_PTR>(), rs(r) {}
     virtual ~RS_DEL_USER_NONIFIER() {}
     void Notify(const USER_PTR & user);
 
 template <typename T>
 class RS_CHG_AFTER_NOTIFIER: public PROPERTY_NOTIFIER_BASE<T> {
 public:
-    RS_CHG_AFTER_NOTIFIER(REMOTE_SCRIPT & r, USER_PTR u) : user(u), rs(r) {}
+    RS_CHG_AFTER_NOTIFIER(REMOTE_SCRIPT & r, USER_PTR u)
+        : PROPERTY_NOTIFIER_BASE<T>(), user(u), rs(r) {}
     RS_CHG_AFTER_NOTIFIER(const RS_CHG_AFTER_NOTIFIER<T> & rvalue)
-        : user(rvalue.user), rs(rvalue.rs)
-    {}
+        : PROPERTY_NOTIFIER_BASE<T>(), user(rvalue.user), rs(rvalue.rs) {}
     void Notify(const T & oldValue, const T & newValue);
     USER_PTR GetUser() { return user; }
 
 
 //-----------------------------------------------------------------------------
 class CHG_AFTER_NOTIFIER : public PROPERTY_NOTIFIER_BASE<std::string> {
 public:
-             CHG_AFTER_NOTIFIER(SMUX & s, const USER_PTR & u) : smux(s), userPtr(u) {}
-             CHG_AFTER_NOTIFIER(const CHG_AFTER_NOTIFIER & rvalue) : smux(rvalue.smux), userPtr(rvalue.userPtr) {}
+             CHG_AFTER_NOTIFIER(SMUX & s, const USER_PTR & u)
+                 : PROPERTY_NOTIFIER_BASE<std::string>(),
+                   smux(s), userPtr(u) {}
+             CHG_AFTER_NOTIFIER(const CHG_AFTER_NOTIFIER & rvalue)
+                 : PROPERTY_NOTIFIER_BASE<std::string>(),
+                   smux(rvalue.smux), userPtr(rvalue.userPtr) {}
     void     Notify(const std::string &, const std::string &);
 
     USER_PTR GetUserPtr() { return userPtr; }
 //-----------------------------------------------------------------------------
 class ADD_DEL_TARIFF_NOTIFIER : public NOTIFIER_BASE<TARIFF_DATA>, private NONCOPYABLE {
 public:
-         ADD_DEL_TARIFF_NOTIFIER(SMUX & s) : smux(s) {}
+         ADD_DEL_TARIFF_NOTIFIER(SMUX & s)
+             : NOTIFIER_BASE<TARIFF_DATA>(), smux(s) {}
     void Notify(const TARIFF_DATA &);
 
 private:
 //-----------------------------------------------------------------------------
 class ADD_USER_NOTIFIER : public NOTIFIER_BASE<USER_PTR>, private NONCOPYABLE {
 public:
-         ADD_USER_NOTIFIER(SMUX & s) : smux(s) {}
+         ADD_USER_NOTIFIER(SMUX & s) : NOTIFIER_BASE<USER_PTR>(), smux(s) {}
     void Notify(const USER_PTR &);
 
 private:
 //-----------------------------------------------------------------------------
 class DEL_USER_NOTIFIER : public NOTIFIER_BASE<USER_PTR>, private NONCOPYABLE {
 public:
-         DEL_USER_NOTIFIER(SMUX & s) : smux(s) {}
+         DEL_USER_NOTIFIER(SMUX & s) : NOTIFIER_BASE<USER_PTR>(), smux(s) {}
     void Notify(const USER_PTR &);
 
 private: