Slate and Transactions for Undo/Redo system

When building Slate stuff for the Editor you should follow engine standards and use Property Handles anywhere possible:

And yes, while in Editor, mark UObject transactional and let the built-in Undo system deal with it.