19: Create UiWidget layer
* field: separate internal widgets for VIEW and EDIT
* separation of toplevelWidget and activeWidget
* removed WIDGET generic from interfaces to make life easier