IAsyncOperation <bool> IBandTileManager.AddTileAsync(BandTile tile)
        {
            return(AsyncInfo.Run(
                       cancellationToken =>
            {
                var bandTile = new Band.Tiles.BandTile(tile.TileId)
                {
                    IsBadgingEnabled = tile.IsBadgingEnabled,
                    IsScreenTimeoutDisabled = tile.IsScreenTimeoutDisabled,
                    Name = tile.Name,
                    SmallIcon = tile.SmallIcon != null ? tile.SmallIcon.ToBandIcon() : null,
                    Theme = BandTheme.ToBandTheme(tile.Theme),
                    TileIcon = tile.TileIcon != null ? tile.TileIcon.ToBandIcon() : null
                };

                foreach (var icon in tile.AdditionalIcons)
                {
                    bandTile.AdditionalIcons.Add(icon.ToBandIcon());
                }

                return this.bandClient.TileManager.AddTileAsync(bandTile, cancellationToken);
            }));
        }
 IAsyncAction IBandPersonalizationManager.SetThemeAsync(BandTheme theme)
 {
     return(AsyncInfo.Run(cancellationToken => this.bandClient.PersonalizationManager.SetThemeAsync(BandTheme.ToBandTheme(theme), cancellationToken)));
 }