Protocolize Graph, add make-graph to encapsulate state.