public void RunAfterTools(ToolArgs args)
 {
     foreach (var evt in afterTools)
     {
         evt.Invoke(args);
     }
 }
        public bool RunTool(ToolArgs args)
        {
            IToolCommand command;

            if (commands.TryGetValue(args.Name, out command))
            {
                command.Execute(args);
                return(true);
            }
            return(false);
        }
        public void Execute(ToolArgs args)
        {
            var t = action(args);

            t.Wait();
        }