Как заставить приложение «следить» за событиями постоянно?
Доброго времени суток, пытаюсь написать небольшой чат, на сервере использую node.js и socket.io, на клиенте(ios) Swift и библиотеку SocketIOClient. На сервере реализовал отправку, прием сообщений, авторизацию, коннект и дисконнект, а на клиенте появилась проблема, не могу понять как слушать события постоянно. Создал синглтон, в нем реализовал все методы связанные с работой socket.io, данные он отправляет и на сервер они приходят, сервер их отправляет на тот же socket id, но мой девайс уже не принимает их. Как реализовать "слежку" за этими событиями? Может использовать Observer? или отдельный поток, который будет крутиться в цикле и проверять (но это какой-то колхоз уже лютый)? Может кто-нибудь подсказать в какую сторону смотреть? Заранее спасибо)