Added GUI Dock, and made some refactoring using it.