public void executeActionsOnView(View view, Object mappedObject) {
    if (view.getTag() != null) {

      List<CarpaccioAction> actions;

      if (view.getTag() instanceof List) { // if already splitted
        actions = (List<CarpaccioAction>) view.getTag();
      } else { // only do this work the first time
        actions = new ArrayList<>();

        String tag = view.getTag().toString().trim();
        String[] tagCalls = CarpaccioHelper.trim(tag.split(";"));
        for (String call : tagCalls) {
          if (!call.startsWith("//")) { // skip the "//function(args)"
            CarpaccioAction carpaccioAction = new CarpaccioAction(call);

            actions.add(carpaccioAction);
          }
        }

        view.setTag(actions); // save into view tags, replace the string with the list
      }

      CarpaccioLogger.d(TAG, view.getClass().getName() + " has actions " + actions);

      if (actions != null)
        for (CarpaccioAction action : actions) {

          // if it's a mapped function ex: setText($user)
          if (mappingManager != null && action.isCallMapping()) {
            mappingManager.callMappingOnView(action, view, mappedObject);

            if (Carpaccio.IN_EDIT_MODE) {
              try {
                callActionOnView(action, view);
              } catch (Exception e) {
                Log.e(TAG, e.getMessage(), e);
              }
            }
          } else // an usual function setText(florent)
          callActionOnView(action, view);
        }
    }

    if (view instanceof TextView && ((TextView) view).getText() != null) {
      String text = ((TextView) view).getText().toString().trim();

      if (text.startsWith("$")) {
        if (mappingManager != null) {
          String textAction = "setText(" + text + ")";
          CarpaccioAction carpaccioAction = new CarpaccioAction(textAction);
          if (view.getTag() != null) {
            if (view.getTag() instanceof String) view.setTag(view.getTag() + ";" + textAction);
            else if (view.getTag() instanceof List) {
              ((List) view.getTag()).add(carpaccioAction);
            }
          } else {
            List<CarpaccioAction> actions = new ArrayList<>();
            actions.add(carpaccioAction);
            view.setTag(actions);
          }
          mappingManager.callMappingOnView(carpaccioAction, view, null);
        }
      }
    }
  }