У меня есть массив(arr1) в котором хранится все, что есть на экране. Я сделал так: при выделении какого-нить объекта arr1 копируется в arr2 и если потом с этим объектом ченить делают (перетаскивают или вертят), то arr2 копирую в arr3. И при нажатии на кнопку «отмена» (Undo, как в ворде со стрелочкой назад) все из массива arr3 копируется в arr1 и все заново прорисовывается. Все это работает, но: это как-то коряво

и мне надо запоминать как минимум 3 предыдущих действия, а заводить еще пару массивов типа arr3 мне не хочется (они большие очень). Есть алгоритм попроще? Подскажите, плизз.