do you really want to handle `check_config` , `spew`, `daemon` and  and `pythonpath` ? 

I think it may be better to put all these features in their own method. Then run in `BaseApplication` come:

     def run(self):
         try:
             Arbiter(self).run()
         except RuntimeError as e:
             sys.stderr.write("\nError: %s\n\n" % e)
             sys.stderr.flush()
             sys.exit(1)

And `Application` override it. What do you think?