title: Dict[str, Any] or Dict[str, Field] in pytext
body: <p>I'm reading the document of pytext (NLP modeling framework built on PyTorch) and this simple method <code>from_config</code>, a factory method to create a component from a config, has lines like <code>Dict[str, Field] = {ExtraField.TOKEN_RANGE: RawField()}</code>.</p>
  
  <pre><code>@classmethod
  def from_config(cls, config: Config, model_input_config, target_config, **kwargs):
      model_input_fields: Dict[str, Field] = create_fields(
        model_input_config,
          {
              ModelInput.WORD_FEAT: TextFeatureField,
              ModelInput.DICT_FEAT: DictFeatureField,
              ModelInput.CHAR_FEAT: CharFeatureField,
          },
      )
      target_fields: Dict[str, Field] = {WordLabelConfig._name: WordLabelField.from_config(target_config)}
      extra_fields: Dict[str, Field] = {ExtraField.TOKEN_RANGE: RawField()}
      kwargs.update(config.items())
      return cls(
          raw_columns=config.columns_to_read,
          targets=target_fields,
          features=model_input_fields,
          extra_fields=extra_fields,
          **kwargs,
      )
  </code></pre>
  
  <p>and </p>
  
  <pre><code>    def preprocess(self, data: List[Dict[str, Any]]):
          tokens = []
          for row in data:
              tokens.extend(self.preprocess_row(row))
          return [{"text": tokens}]
  
  </code></pre>
  
  <p>How can a dictionary have keys with 2 items? What exactly is this?</p>
  
  <p>I would appreciate any pointer! </p>