take exception logger and exit_status out of middleware
rename container -> scope, which is what it is
make the command available to the scope a-priori