Improved structure, introduced interfaces for nodes and edges.