give the mirror a close method, and make the async thread friendlier