One of the problems with systemd is that, although the promise was good (standardise the lifecycle of the system services and their logs), the implementation is plain horrible.
It should have followed a pattern called inversion of control (or dependency injection), where your code stays free of...