PS There's even systemd.generator for a hybrid approach.
SystemD has no dearth of programmable options.