See https://docs.ros.org/en/rolling/Concepts/About-Composition.html and https://docs.ros.org/en/rolling/Tutorials/Composition.html