Avoid messing with the main namespace
Avoid needless nesting of a named subroutine
Call startup script earlier and give it access to option hash
Allow exception handler to be provided.
When a log file is specified, send all errors to it.
Set $0 for startup script too.
-c makes no sense with managers that DO. Provide a means of disabling it.
Respawn worker on serious Perl internal errors