I agree.  Closing the comm isn't silent---it's sending the output to the right thing.  Is there a way of distinguishing close events that were issued by the user, vs. those that were triggered by an error?