implementing DirectedSimulationEngine and GraphPopulator