FactorizedMCTS uses depth charges for a specific subgame. TreeNode can flag which subgame you're in, and expand() was also modified for that. If no subgame is chosen, one is selected ASAP.