public static void CallPlugin(string name, Processor processor)
        {
            IPlugin plugin = plugins[name];
            WindowManager windowManager = new WindowManager(plugin);
            Host host = new Host(processor, windowManager);

            try
            {
                plugin.Process(host);
            }
            catch(Exception e)
            {
                windowManager.ShowMessage(string.Format("{0}\n{1}",
                    e.Message, e.StackTrace));
            }
        }
 public Host(Processor processor, WindowManager windowManager)
 {
     this.processor = processor;
     this.windowManager = windowManager;
 }