DidConnect notification handler should only process the controller it was called for. Can you try replacing the loop
for controller in GCController.controllers() { self.myController = controller
with
self.myController = notification.object
and see what's being reported?