code: function _parseFormControl(form_id, form_control) {
          var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
  
          var type = this._collection[form_id].getInputType(form_control);
  
          console.log(type);
  
          // check if parser for specific input type exists and call it instead
          var method = type.toLowerCase();
          method = method.charAt(0).toUpperCase() + method.slice(1); // upper case first char
          method = '_parseFormControl' + method;
  
          if (value === undefined) {
              method = method + 'Getter';
          }
  
          if (this[method] !== undefined) {
              return this[method](form_id, form_control, value);
          } else {
              // call default parser
              // if input with same name exists - override
              if (value === undefined) {
                  return this._parseFormControlDefaultGetter(form_id, form_control);
              } else {
                  this._parseFormControlDefault(form_id, form_control, value);
              }
          }
      }
docs: handlers for different input types with 4th argument - setter without 4th argument - getter called from .value property observer