public static async Task<ImageSource> AddText(this StreamImageSource source, string text, PointF point, Font font, Color color)
        {
            var token = new CancellationTokenSource();
            var stream = await source.Stream(token.Token);
            var image = UIImage.LoadFromData(NSData.FromStream(stream));

            var bytes = image.AddText(text, point, font.ToUIFont(), color.ToUIColor()).AsPNG().ToArray();

            return ImageSource.FromStream(new Func<Stream>(() => new MemoryStream(bytes)));
        }