Added UndoableSetCommand and restructured package structure.