protected function registerListeners(Graph\GraphInterface $graph): void
   {
     $this->logger()->info("Registering listeners.");
     $nodes = array_values($graph->members());
     $node_count = count($nodes);

     $this->logger()->info(
       "Total # of nodes for the graph \"%s\": %s", $graph->id(), (string) $node_count
      );

      $graph->init();

     for($i=0; $i<$node_count; $i++) {
       $node = $nodes[$i];
       $this->logger()->info(
         "Registering listeners for node %s, a %s", $node->id(), $node->label()
        );

       // recursiveness
       if($node instanceof Graph\GraphInterface && $node->id() != $graph->id())   {
         $this->registerListeners($node);
       }
       else {
         $node->init();
       }

       // memory management.
       // clean up after use.
       unset($nodes[$i]); // $nodes[$i] = null;
       // gc_collect_cycles(); // perhaps give the user option to choose Fast Boot vs Memory Controlled Boot (good for resource-constrainted distributed systems that may tolerate slow boot)

     }
   }