Implemented separate GUI class. main.cpp now has no dependencies