public function addMedia($key, $value)
    {
        $available = array('link', 'description', 'picture', 'thumbnail');

        // accept only valid types for media
        if ( ! in_array($key, $available)) {
            throw new InvalidArgumentException('Media type must be a valid value: '.implode(', ', $available));
        }

        $this->media[$key] = $value;

        return $this;
    }