public void StartCommandLoop()
        {
            do //Command loop
            {
                var cmd = Console.ReadLine();
                //Single token commands
                if (cmd.Equals("exit", StringComparison.OrdinalIgnoreCase))
                {
                    Console.WriteLine("Disconnecting EventStore");
                    break;
                }
                if (cmd.Equals("list", StringComparison.OrdinalIgnoreCase))
                {
                    _view.ListRooms();
                    break;
                }
                //3 token commands
                var tokens = cmd.Split(' ');
                if (tokens.Length != 4)
                {
                    _view.ErrorMsg = "Unknown command or Invalid number of parameters.";
                    continue;
                }
                switch (tokens[0].ToUpperInvariant())
                {
                case "ADD":
                    var addRoom = new AddRoom(
                        Guid.NewGuid(),
                        tokens[1],
                        tokens[2],
                        tokens[3]);

                    _mainBus.Publish(addRoom);
                    break;

                default:
                    _view.ErrorMsg = "Unknown Command";
                    break;
                }
            } while (true);
        }