Implemented a graceful disconnect and did some UI clean up

@davidfowl @mikary @abnanda1 
index into the worker once not twice