setLink was sometimes called before viewDidLoad initialized the whole view (resulting in an empty window)
now initWithCapabilities just remembers the initialURL to load it in viewDidLoad, rather than on relying on some async performSelector