Improved OOP architecture.

I realized that I could fix a part of the scopegadgetwidget abstraction that was not possible to resolve earlier due to the original structure. 

In short, this moves everything that was scope configuration specific in the gadget widget to the configuration classes.