private synchronized void handler(final IMessageHandler h) {
   onDispose.add(
       new Runnable() {
         @Override
         public void run() {
           mc.removeMessageHandler(h);
         }
       });
   mc.addMessageHandler(h);
 }