Restores state from a snapshot (optional)
Does nothing by default - implement if undo/redo is needed
void fromSnapshot(Map<String, dynamic> snapshot) {}