protected virtual void Start()
    {
        SaveDataBaseClass[] saveDataComponents = gameObject.GetComponents <SaveDataBaseClass>();
        foreach (var dataComponent in saveDataComponents)
        {
            if (dataComponent.data != null)
            {
                data = dataComponent.data;
                break;
            }
        }
        if (data == null)
        {
            data = new DataHolder();
        }

        if (saveHandler == null)
        {
            saveHandler = FindObjectOfType <SaveHandler>();
            if (saveHandler == null)
            {
                Debug.LogError("You need a SaveHandler in the world!");
            }
        }
        saveHandler.AddSaveData(this);
    }