private static void ProcessTown()
        {
            var kadalaItem = Kadala.GetSelectedItem();

            if (kadalaItem != Kadala.Items.NONE && OpenWindows.IsKadalaNewOpened())
            {
                Kadala.GambleItem(kadalaItem);
            }

            if (Smith.ShouldSalvage() && OpenWindows.IsSmithNewOpened())
            {
                Smith.SalvageNormals();
            }

            int urshiUp = Urshi.GetUpgradeCount();

            if (urshiUp > 0 && OpenWindows.IsUrshiNewOpened())
            {
                Urshi.Upgrade(urshiUp);
            }

            if (Orek.ShouldOpen() && OpenWindows.IsOrekNewOpened())
            {
                Orek.Open();
            }

            if (ConfirmDialog.ShouldAccept() && OpenWindows.IsConfirmDialogNewOpened())
            {
                ConfirmDialog.Accept();
            }
        }