Один раз я как следует подумав, решил, что лично мне ID вообще знать не нужно. В принципе. И сделал класс IdShop (в статике). Любой контрол обращается к этому классу (как в магазин) при создании/уничтожении и получает/возвращает у него ID просто как свободный ресурс. В результате мне лично вообще неизвестны ID ни одного моего контрола, это делает процессор.