I think we just have different ideas of what the word "reasonable" means.
I think we just have different ideas of what the term "building blocks" means.
You cannot add (or remove) part of systemD as you wish: on a Linux system I cannot replace journald with something, and I cannot bring journald over to FreeBSD. SystemD is tightly-coupled (heck, they even borg'd in udevd, which was an independent project at one point).
Building blocks in my mind are like Legos: you can put together the thing you see on the box, but the individual (literal) blocks can be used however you wish.
I guess I just never cared to actually LEGO much with Linux.
However upstart was totally reasonable.