moved editing of the graph functionality from Graph to EditableGraph protocol