public async Task SaveSchemeAsync(Scheme scheme, bool enqueueTile = true)
        {
            if (!cachedSchemes.Contains(scheme))
            {
                cachedSchemes.Add(scheme);
            }

            var file = await ApplicationData.Current.RoamingFolder.CreateFileAsync(String.Format("{0:N}.scheme", scheme.Id), CreationCollisionOption.ReplaceExisting);

            var json = JsonConvert.SerializeObject(scheme);

            await FileIO.WriteTextAsync(file, json);

            if (enqueueTile)
            {
                await tileService.EnqueueSchemeTileAsync(scheme);
            }
        }