public virtual void OnDisable()
        {
            OrderedTick.deleteComponent(this);
//            OrderedTick.deleteComponentFast(this);
            if (coroutineOwner)  //because its coroutines will stop working if GameObject is disabled (though they still work if only script is disabled, but we don't distinguish)
            {
                coroutineStarted = false;
                coroutineOwner   = false;
            }
        }