public bool HandleCommand(string command, ref Exception error)
 {
     if (command == "edit command")
     {
         provider.Load(commands);
         using (ObjectEditorForm form = new ObjectEditorForm(provider, callback))
         {
             if (form.ShowDialog() == DialogResult.OK)
             {
                 provider.Save(commands);
                 callback.SaveSettings();
                 InvokeSuggestedCommandChanged();
             }
         }
         return(true);
     }
     else
     {
         ScriptingCommand scriptingCommand = commands.Where(c => c.Name == command).FirstOrDefault();
         if (scriptingCommand != null)
         {
             try
             {
                 scriptingCommand.ExecuteCommand(callback);
             }
             catch (Exception ex)
             {
                 error = ex;
             }
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }