public function saveMedia($file, $group = 'default', $type = 'single', $options = []) {
    $this->file = $file;
    $this->group = $group;
    $this->type   = $type;
    $this->options = $options;

    $this->setup();

    $this->parseOptions();

    if ($this->type == 'single') {
      $this->removeExistingMedia();
    }

    $result = $this->databasePut();

    $this->storagePut();

    return $result;
  }