introduce weakmap to store message manager