code: public <T extends VoidMessage> void addPrecursor(@NonNull Class<T> cls, @NonNull MessageCallable<T> callable) {
          precursors.put(cls.getCanonicalName(), callable);
      }
docs: This method add precursor for incoming messages. If precursor is defined for given message class - runnable will be executed before processMessage()
  @param cls
  @param callable