Correctly exits when the app is closed by shuttoing down executors.

DI using constructors for service controllers