Avoid needless nesting of a named subroutine
Call startup script earlier and give it access to option hash
Allow exception handler to be provided.