protected override void DoOnInitialize()
 {
     base.DoOnInitialize();
     if (statusManager == null)
     {
         statusManager = SubscribableObject.GetComponent <StatusEffectManager>();
     }
     // else ...
 }
        public virtual void Initialize(StatusEffectManager newOwner)
        {
            Owner = newOwner;

            if (effectAttachment != null)
            {
                // Spawn an instance of
                var attachment = GameObject.Instantiate(effectAttachment);
                attachment.transform.SetParent(Owner.transform);
                effectAttachment = attachment;
            }
            //OnStatusApplied();
        }
        public override void Initialize(StatusEffectManager newOwner)
        {
            base.Initialize(newOwner);

            Owner.StartCoroutine(CoEffectTimer());
        }