public async void ConvertButton_Click(object sender, RoutedEventArgs e)
        {
            string sourceDirectory = this.InputDirectoryControl.Text;
            string outputFile      = this.OutputFileControl.Text;

            if (string.IsNullOrWhiteSpace(sourceDirectory))
            {
                UpdateStatus("Please specify a source directory");
                return;
            }
            if (!Directory.Exists(sourceDirectory))
            {
                UpdateStatus("Source directory doesn't exist");
                return;
            }
            if (string.IsNullOrWhiteSpace(outputFile))
            {
                UpdateStatus("Please specify an output file");
                return;
            }
            UpdateStatus("Converting");
            await Task.Run(() =>
            {
                try
                {
                    CommonConverter.ConvertFiles(this.InputDirectoryControl.Text, this.OutputFileControl.Text);
                }
                catch (Exception ex)
                {
                    UpdateStatus("Unexpected issue in conversion " + ex.Message);
                }
            });

            UpdateStatus("Conversion Successful");
        }
 static void Main(string[] args)
 {
     Parser.Default.ParseArguments <Arguments>(args).WithParsed((arguments) =>
     {
         CommonConverter.ConvertFiles(arguments.InputDirectory, arguments.OutputFile);
     });
 }