use dedicated method instead of toString() to get text from text nodes
moved common methods to AbstractCommand
improved UI, fixed some bugs related to iframe droppables not being cleaned up