Why does procd expect services to run in foreground

Not being able to fork other processes from a service can be a hindrance, so my question is why the design prohibits this. I did notice that when forking processes they inherit the descriptors which leads to deadlocks due to the function procd_lock, however what I don't understand is the reason behind the design? Can anyone clarify?