refactoring mutes and bans to use channels instead of locks