I still need to solve type checking cycle to be able to compile
- handle ping message - recv now only returns on SignalResponse