private bool HandleCommand(ConsoleSystem.Arg arg) { var cmd = arg.GetString(0); if (uiCallbacks.TryGetValue(cmd, out var callback)) { var player = arg.Player(); try { callback.ButtonCallback?.Invoke(player); callback.InputCallback?.Invoke(player, string.Join(' ', arg.Args != null ? arg.Args.Skip(1).Select(sv => sv.ToString()) : Enumerable.Empty<string>())); } catch (Exception ex) { PrintError($"Failed to run UI command {cmd}: {ex}"); } return true; } return false; }