It is better to connect to signal before GetProperties() because we discovered race condition happens otherwise. Maybe it somehow requests processEvents() to be invoked, so in reality if property is changed in a meantime (between GetProperties() and connect, the signal is lost :/)