As the timestamp_manager and runtime_monitor would be applicable to the populate phase of the workload_generator it needs to do populate as part of run. To do this lets create a separate populate function and call it from the run() stage.
Additionally in order to align the timestamp_manager and workload_tracking components move it's logic into itself instead of in the test class.