public void ProcessResponse(ConsoleCommand command, WebSocketSession session)
        {
            _session = session;

            try
            {
                var args = command.CommandText.SplitCommandLine().ToArray();
                _commands.Parse(args);
            }
            catch(MissingCommandArgumentException e) //An invalid option was passed
            {
                var response = Help();
                response.PrependMessage(e.Message);
                session.SendResponseAsync(response.Serialize());
            }
        }
        void socketServer_NewMessageReceived(WebSocketSession session, string e)
        {
            var command = JsonConvert.DeserializeObject<ConsoleCommand>(e);

            try
            {
                IConsoleResponder r = new ConsoleResponder(SendToAll);
                r.ProcessResponse(command, session);
            }
            catch(Exception ex)
            {
                var response = new ConsoleCommandResponse();
                response.AppendMessage("Server Error! :(");
                response.AppendMessage(ex.Message);
                session.SendResponseAsync(response.Serialize());
            }
        }