Changed return type from Node to Node<NodeType> in IDirectedEdge