Well, with systems that's actually the case. It's suite of mostly loosely coupled tools and services and you totally can swap out or disable many of the components however you like.
They mostly just use DBus and/or Varlink for IPC and use some common shared libraries to prevent code duplication across the whole project.