public function __construct(array $args, Language $language)
{
// TODO: Passing all the (different) stuff via an array really should be improved! Use fluent setters instead?!
$this->icon_url = $args['icon_url'];
$this->remote_title = (string) $args['remote_title'];
$this->remote_url = $args['remote_url'];
$this->source_site_id = (int) $args['source_site_id'];
$this->suppress_filters = !empty($args['suppress_filters']);
$this->target_content_id = (int) $args['target_content_id'];
$this->target_site_id = (int) $args['target_site_id'];
$this->type = (string) $args['type'];
$this->language = $language;
}