In reply to taufeeq_khan:
- build_phase() is top-down because a child component gets created in its parent’s build_phase().
- connect_phase() is bottom-up because it was easier than making it top-down. It really doesn’t matter.
- Same for start_of_simulation().
- run_phase() is a task, so it has to be parallel so that all components’ run_phase() methods will run concurrently.