Major refactoring

Moved the receive logic to the AysncSocket