public void Save(T sg)
        {
            if (isBusy)
            {
                return;
            }

            isBusy = true;

            sg.UpdateMetadata();

            mProvider.Write <T>(new SavegameData(sg.Metadata, sg.Serialize()), OnProviderSaved, OnError);
        }