не знаю нафиг такой гемор, я для редактора зделал
отдельный тип SelectedObjects и всю работу с ними
типа повернуть выделеные обьекты, переместить выделеные обьекты
и тд

удобно и практично
ps. что мешает в Building.Update писать так ?
if something then
Selected = true
LastSelected.Selected = false
LastSelected = self
end if