public Result <None> CreateCloud(string textPath, string imageSavePath) { using var image = new Bitmap(imageConfig.ImageSize.Width, imageConfig.ImageSize.Height); var wordsFromFile = textProcessor.ReadFromFile(textPath); var tags = tagsGeneratorFactory.Create() .Then(generator => wordsFromFile.Then(words => generator.CreateTags(words))); var imageResult = tags.Then(tags => imageBuilder.DrawTags(tags, image)); return(imageSaverFactory.Create() .Then(saver => imageResult.Then(imgRes => saver.SaveImage(image, imageSavePath)))); }