private void Spawn()
    {
        ICallOnDestroy newInstance = Instantiate(prefab, GetSpawnPosition(), Quaternion.identity, transform).GetComponent <ICallOnDestroy>();

        spawned.Add(newInstance);
        newInstance?.SetupCallOnDestroy(() => RemoveSpawned(newInstance));
    }
 private void RemoveSpawned(ICallOnDestroy toRemove) => spawned.Remove(toRemove);