We used a mediator pattern and abstract factory pattern in guiimpl and loaded it dynamically. Other modules have nothing to do with guiimpl. I am happy about the isolation. The *listview* is a seperate module that is only dependent on the *gui* module. Sadly there is still some work needed to render the list , currently a blank window is rendered.