Things, Links and Graphs

The mapping layer connects the model with the view. This is realized with a GraphPair.
A GraphPair is a facade on two Graphs of different types, Graph<Visual> and Graph<Thing>, where Graph<Visual> is a transformed (Sub)Graph of Graph<Thing>.
To the presentation layer it apperears as a Graph<Visual>, but every operation is performed on the Graph<Thing> too. So a visual abstraction of the model can be done by creating a GraphPair<Visual, Thing>.