Wait for component connections

Ideally we need to add tests for this but these can be added later.

Fixes #261 
Fixes #196
Fixes #136