WIP: Handle received messages before blocking on more data
Fix bugs when completion context is null