More graceful shutdown improvements:

- Add the request controller to its own subsystem
- Add the ability to queue tasks
- Some code cleanup
do we really need all this dependencies, looking at the code we it could probably only a handful of them.