Slowly making objects more generic.
Need to make the GUI a plugin to the application.