Added undo/redo for transferring items.
I added some javadoc and fixed a few bugs.