public void Run(string start) { Console.WriteLine("Program started"); while (true) { try { string input = reader.ReadLine(); string[] data = input.Split(); string commandName = data[0]; IExecutable command = this.commandDispatcher .DispatchCommand(commandName, data); string result = command.Execute(); command.CommidChanges(); Console.WriteLine(result); } catch (Exception e) { writer.WriteLine(e.Message); } } }