add mbeans and make close() paths collect all exceptions that might
occur along the way