The three different layers are motivated by several wishes:
The displaying module could be (and is) used in a content viewer for viewing maps without being able to surf them, or even for superposing maps.
We will add tools not originally thought of. By forcing all functionality to use the general interfaces, we assure that they are usable to the needed extent. By carefully separating responsability, we ease the development of new features by allowing experimentation without altering existing code.
By separating the functionality from the user interaction, we allow different implementations of the user interfacing, which is an important part of the project.
Different ways of making concept maps more interactive have been discussed. There are several ways in which this may be possible:
allow the user to move certain concepts inside the map, to increase readability
allow the user to hide parts of the concept-map temporarily, to increase clarity
This kind of functionality becomes even more important if we introduce automatically generated concept-maps, such as search results, and showing the result as a concept-map, or even included in the current concept-map. Being able to "clean up" the map would be a much wanted feature.