Rollup and cleanup of embedded file params

  fix bug where nested param would not get converted
  allow for UploadIO value
  refactored for legibility of intent and deduplication