code: private static void register(IMalisisMod mod, Class<?> messageHandlerClass, Object messageHandler)
  	{
  		Method[] methods = messageHandlerClass.getMethods();
  		for (Method method : methods)
  		{
  			ModMessage ann = method.getAnnotation(ModMessage.class);
  			if (ann == null)
  				continue;
  
  			String name = ann.value().equals("") ? method.getName() : ann.value();
  			boolean isStatic = Modifier.isStatic(method.getModifiers());
  			//only register static methods if no instance is passed
  			if (isStatic || (messageHandler != null))
  				messages.put(mod.getModId() + ":" + name, Pair.of(isStatic ? null : messageHandler, method));
  			//MalisisCore.log.info("Registered mod message " + mod.getModId() + ":" + name + " in "
  			//		+ messageHandler.getClass().getSimpleName());
  		}
  	}
docs: Registers a message handler.<br>
  If no instance for the message handler is passed, only static methods will be registered to handle messages.
  
  @param mod the mod
  @param messageHandlerClass the message handler class
  @param messageHandler the message handler