> - The previous remarks are all about the separation of the "4Cs" (which is >   my pet software design guideline): to try to separate the Computation, the >   Communication, the Configuration and the Coordination that take place in >   components. (BTW, this is something that ROS is rather bad at... I can >   show you dozens of "horror stories" in (core) ROS packages where all 4Cs >   are coupled in horrible ways.) Is there a particular reference you would recommend for becoming more familiar with this design guideline?