Should help #127

I think the issue is that the channels collection may be changed while
the service is stopping.  I've added some more logic to prevent this
condition, which should fix the original exception