So I really can't make this look nice. It juts feels so wrong to unconditionally set this field (twice) for every connect, and create the corresponding objects, just in case something sometimes goes wrong (which is not the normal case).

I can make the code a bit more DRY though.