/// <inheritdoc />
        public void RemoveLateUpdate(ILateRunnable runnable)
        {
            runnable.ThrowIfNull(nameof(runnable));

            if (lateRunnables.Remove(runnable))
            {
                Log.Info("Removed late runnable of type {0} from {1}.", runnable.GetType().Name, gameObject.name);
            }
        }
        /// <inheritdoc />
        public void AddLateUpdate(ILateRunnable runnable)
        {
            runnable.ThrowIfNull(nameof(runnable));

            if (!lateRunnables.Contains(runnable))
            {
                lateRunnables.Add(runnable);
                Log.Info("Added late runnable of type {0} to {1}.", runnable.GetType().Name, gameObject.name);
            }
        }